《和小卡特一起学python》里有个编程制作猜数字游戏,随机抽出从0-99其中一个整数,然后给自己6次机会去猜数字。假如猜的数字比抽的数低,它会显示“数字太小”,反之亦是。猜对或者六次机会用光,给出相应的提示。
具体方法是导入随机库,形成secret=random.randint(1,99).初始猜测数为0,用while语句 tries<6,否则一直循环到条件不满足结束,guess=input()输入的猜测数字,我加入一个作弊的方式,输入cheat额外增加两次猜数字机会。如果猜错增加一次tries,直到超过6结束。因为输入的guess是str字符串,secret是int整数,所以即使猜对了数字,反馈不了结果。所以加入一个elif 为int(guess) ==secret:
转换guess类型为int,即guess=int(guess),这样当猜对结果时,才会出现“你猜对了”的响应。
这好比是,实体的劳斯莱斯车和一张劳斯莱斯照片的区别,虽然都是指的劳斯莱斯,可本质上还是不同的。所以要转换成同一类型,同一品牌,同一型号,才是真的一致。因为python版本使用的不同,要自己新手实践一番,才能理解语句的真实含义和使用方法。
import random
secret = random.randint(1,99)
tries =0
while tries < 6:
guess =input("your num")
if guess=='cheat':
tries= tries-2
elif int(guess) < secret:
tries = tries+1
print("too low\n"+"-"*30+str(tries))
elif int(guess) > secret:
tries = tries+1
print("too high\n"+"-"*30+str(tries))
elif int(guess) == secret:
guess = int(guess)
break
print(type(secret))
print(type(guess))
if guess!= secret:
print("I wish you good luck next time ")
else:
print("you got it")