print("海浪:今天,我跟电脑说了第一句人话。")
今天学的是 input() 函数。
说人话:让电脑开口问我话,我再敲键盘回答它。
以前都是电脑听我的(print),今天轮到我听电脑的。
霍格沃茨的来信
课上,吴枫老师让我们先跑一段“入学信”代码。
屏幕上蹦出一行字:亲爱的同学,你被霍格沃茨录取了。
我盯着它看了三秒,差点信了。
import time
print('亲爱的同学:')
time.sleep(0.1)
print('我们愉快地通知您,您已获准在霍格沃茨魔法学校就读。')
time.sleep(0.1) 是让电脑喘口气,一字一句往外蹦,像真在写信。
绝了。
电脑问我话了
真正的魔法在 input()。
它像一扇门,电脑把问题贴门上,等你往里扔答案。
name = input('请在以下学院里选一个:格兰芬多/斯莱特林/拉文克劳/赫奇帕奇:')
print(name + '学院欢迎你,小萌新!')
我输了“拉文克劳”,屏幕立刻回我:拉文克劳学院欢迎你,小萌新!
啊?电脑真的在跟我聊天!
卡了一下:字符串小虫
吴枫老师挖了个坑。
他让我们把 if 条件从 '1' 改成 1(去掉引号),再输入 1。
结果电脑翻脸了:你不是我等的那个 1。
我懵了。
后来才懂:input() 抓到的东西,永远是字符串。
你敲 1,它存的是 '1'。字符串 '1' 不等于整数 1,所以条件不成立。
choice = input('请输入您的选择:')
if choice == 1: # 错!choice 是字符串 '1'
print('霍格沃茨欢迎您')
else:
print('我们不接受这个选项')
改成这样才对:
choice = input('请输入您的选择:')
if choice == '1': # 对!两边都是字符串
print('霍格沃茨欢迎您')
else:
print('我们不接受这个选项')
想拿数字?套个 int()
要是想比大小,比如猜斯内普教授年龄。
得把 input() 的结果用 int() 套一下,变成整数。
age = int(input('猜一下斯内普教授的年龄:'))
if age > 17:
print('猜大啦!')
elif age == 17:
print('正确,你是个巫师!')
else:
print('猜小啦,正确答案是17')
int(input(...)) 就像把字符串小虫,塞进整数方块里。
我服了,Python 真细。
今天练得手痒
课下我顺手写了仨小程序。
一个让古灵阁小精灵帮我换金加隆,一个给哈利的猫头鹰起名,还有一个用 random 摇罗恩吃巧克力蛙——超过10个罗恩就给哈利100块。
input()、random、if 全用上了。
感觉自己像个真的巫师,挥挥代码就变出东西。
一句感悟
以前觉得电脑冷冰冰。
今天发现,它会等你说话,也会回你话。
只要你说对话(字符串要对,整数要转),它就不闹脾气。
收尾
第3关过了。
明天接着浪。