第四讲 为什么要先给guess赋值为0 其他为什么不是其他数字
第四讲为什么要先给guess赋值为0 其他为什么不是其他数字import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
temp = input()
guess = int(temp)
times = times - 1 # 用户每输入一次,可用机会就-1
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
if times > 0:
print("再试一次吧:", end=" ")
else:
print("机会用光咯T_T")
print("游戏结束,不玩啦^_^") 你看到后面,while循环里有一个条件,
是guess != 0吗?
你如果不给guess赋值,就会报错(guess未定义)。 因为答案是1~10的随机数,如果guess = 1~10里的数,就有可能用户还没猜程序就退出了(第10行while (guess != secret) and (times > 0):)\5683$#%&#*%
%@$&*#*&$#^$@
guess也可以设置成不是1~10的任意一个数 secret是1-9之间的随机数,要给guess赋一个不等于secret的值,所以是零最合适
也可以是其他不在1-9之间的数 guess要不在1~10(secret)的区间里,要不然可能用户 还没猜程序就退出了(第10行:while (guess != secret) and (times > 0):,guess==secret的时候程序就会退出)\%(W|%#|%#| 如果你赋值其他的数值,有可能就直接是答案的那个数字,这样的话,程序就直接结束了,当然如果设的数字恰巧不是某一次的答案的话,程序还可以运行。但是一直存在所设的guess初始值和答案一样,程序直接结束得可能,对游戏就是个bug。
你可以把随机函数那个值得范围调小一点,比如设成random.randint(1,1),这样答案就只会是1,你再把guess设成1,试试程序结果就知道了
页:
[1]