这样写错误在哪里
为啥输入2不返回“”小了小了“输入09会返回“大了大了”
???? 从上往下走一遍就明白了。
你输入2的情况下,进入while循环。
while循环执行i自减1的操作,然后temp直接输入内容。你输入了9.
屏幕会输出猜错了。接下来执行guess的int化。
因为9比7大,所以输出了大了大了,然后又返回了temp的input内容让你输入。
你的temp和guess既然在前面都定义好了,下面就不要重复输入两次了,这样不是做重复工作吗? 当你输入数字2后,程序进行到了第六行,打印了字符串中的字符
然后你再次输入数字,才会进行if语句中的命令。个人理解,如有错误,请指正。 你guess 后边又定义了一次。 本帖最后由 柿子饼同学 于 2021-4-29 21:20 编辑
#小游戏
guess = input('不妨猜一下小甲鱼现在心里想的数字(1, 10):')
guess = int(guess)
i = 3
while guess != 7 and i:
i -= 1
if guess < 7:
print('大了')
else:
print('小了')
guess = int(input('在试一次吧'))
if guess == 7:
print('对了')
print('游戏结束啦')自己写的,仅供参考
主要就是你的判断大小和重新输入的代码换一下位置 本帖最后由 江湖散人 于 2021-4-29 22:01 编辑
当你输入2的时候,进入while 循环,i=3-1=2(这个时候你再输入一次2的话,就会显示小了)
然后又提示你输入数字,然后你就输入了9,开始判断9和7的大小,所以只能显示大了。
i=1
while i<=3:
temp = int(input('请猜一个数字吧:'))
if temp==7:
print('恭喜你,猜对了')
break
elif temp>7:
print('大了大了')
else:
print('小了小了')
i+=1
print('游戏结束!')
你好,我也是新手,我把你的程序重新写了一下,不是很好。不过运行没什么问题。仅供参考 江湖散人 发表于 2021-4-29 21:54
当你输入2的时候,进入while 循环,i=3-1=2(这个时候你再输入一次2的话,就会显示小了)
然后又提示你输 ...
谢谢 你这个guess两次赋值了。 明天的算法大佬 发表于 2021-4-30 22:48
谢谢
记得把你认为最好的答案列为最佳答案哦
页:
[1]