from random import randrange
k=input("pick a door 0,1,2: ")
h=(randrange(3))
while h==k:
if h!=k:
break
h=(randrange(3))
print(h)
为什么这不会使 h 的输出始终与 k 的输出不同?
这是完整的代码:
from random import randrange
x=(randrange(3))
k=input("pick a door 0,1,2: ")
h=(randrange(3))
while h==k:
if h!=k:
break
h=(randrange(3))
print("I remove door")
print(h)
j=input("would you like to switch 1 if yes 2 if no: ")
if j==0:
if j==x:
print("you win")
else:
print("you lose")
else:
if j!=x:
print("you win")
else:
print("you lose")
在您提供的代码中,存在如何比较变量 h 和 k 以及如何处理循环的问题。让我一步步解释吧。
首先,input()在Python 3.x中返回一个字符串。因此,当您在循环中比较 h 和 k 时,您是将字符串 (k) 与整数 (h) 进行比较。这不会按预期工作。
其次,循环逻辑不正确。你的循环应该继续下去,直到 h 与 k 不同,但是如果 h 不等于 k,你将立即中断循环,这意味着循环永远不会运行多次。