python问题 请教为什么会这样呢?
我模仿作业中的答案写出了这个程序:import random
answer = random.randint(1,10)
print("__________分割线___________")
a = input("please input a number you want:")
#print("please input a number you want:")
i = 3
b = 0
while (b != answer) and (i > 0):
#a = input()
b = int(a)
i = i-1
if b == answer:
print("you win!")
else:
if b > answer:
print("bigger!")
else:
print("smaller!")
if i > 0:
print("one more time:")
else:
print("no chance!")
print("GG~~~")
但是运行结果却是这样的:
__________分割线___________
please input a number you want:5
smaller!
one more time:
smaller!
one more time:
smaller!
no chance!
GG~~~
请问这是为什么呢?为啥一次性就自动运行完了呢?
因为循环中没有a = input("please input a number you want:"),a的值一直不变 #a = input()井号把这段代码注释掉了,不再发挥作用,所以a的值在循环中一直不变。 本帖最后由 wuqramy 于 2020-3-12 21:50 编辑
你的a只会保持第一次输入的值,有用的代码被#注释了,正确代码如下:
import random
answer = random.randint(1,10)
print("__________分割线___________")
a = input("please input a number you want:")
i = 3
b = 0
while (b != answer) and (i > 0):
b = int(a)
i = i-1
if b == answer:
print("you win!")
else:
if b > answer:
print("bigger!")
else:
print("smaller!")
if i > 0:
a = input("one more time:")
else:
print("no chance!")
print("GG~~~")
import random
answer = random.randint(1,10)
print("__________分割线___________")
a = input("please input a number you want:")
#print("please input a number you want:")
i = 3
b = 0
while (b != answer) and (i > 0):
#a = input() 问题出自这行, #把a=input()语句变成注释了
b = int(a)
i = i-1
if b == answer:
print("you win!")
else:
if b > answer:
print("bigger!")
else:
print("smaller!")
if i > 0:
print("one more time:")
else:
print("no chance!")
print("GG~~~") 感谢大家的解答,我明白了。然后我根据“wuqramy”的建议修改了代码,确实能够正常运行了,非常感谢。我想再追问大家一下,修改后我觉得while后边的(b!=answer)好像没什么意义,就去掉了,结果是也能够正常运行程序,那是不是这个判断语句确实没有什么用处呢?~~
代码如下:
import random
answer = random.randint(1,10)
print("__________分割线___________")
a = input("please input a number you want:")
i = 3
b = 0
while i > 0:
b = int(a)
i = i-1
if b == answer:
print("you win!")
else:
if b > answer:
print("bigger!")
else:
print("smaller!")
if i > 0:
a = input("one more time:")
else:
print("no chance!")
print("GG~~~")
#把有用代码注释掉了
页:
[1]