我的第一个 Python 小程序:猜数字
学 Python 的第三天,老师留的作业是写一个猜数字游戏:电脑偷偷想一个 1~100 的数,你来猜,它告诉你"大了"还是"小了",直到猜中为止。
我的代码
import random
answer = random.randint(1, 100) # 电脑偷偷想的数
count = 0 # 我猜了几次
while True:
guess = int(input("请猜一个 1~100 的数:"))
count = count + 1
if guess > answer:
print("大了!")
elif guess < answer:
print("小了!")
else:
print("猜对了!你一共猜了", count, "次")
break
别看只有十几行,我写的时候踩了 3 个坑:
input拿到的是文字,不套int()的话,"50" 和 50 不能比较,程序直接报错;- 忘了写
count = count + 1,结果猜了几次都显示 1 次; - 忘了
break,猜对了还不停地问,只能按 Ctrl+C 逃出来。
最好玩的部分
我发现了一个"必胜策略":每次都猜剩下范围的中间那个数。比如 1~100 就先猜 50,如果小了就猜 75……这样最多 7 次就一定能猜中!后来我才知道这叫二分法,是真正算法书里的东西。
我把这个程序教给了同桌,他现在天天跟我比赛谁猜的次数少。写程序最大的快乐,就是看着自己写的东西被别人玩得停不下来。