while not(bool(won)):
#print(wordspec)
# print("_" * wordlen)
print(displayword)
answer = input("Any letters?")
if answer in vl.values():
print("Yes")
for x_l in wordspec:
print(str(spot_l)+"cha")
if spot_l < wordlen:
if vl[spot_l] == answer:
print(vl[spot_l])
ch[spot_l] = vl[spot_l]
displayword[spot_l] = ch[spot_l]
spot_l += 1
elif wordlen < spot_l:
spot_l = 0
因此,在1次循环后,spot_l变量将停留在它可以达到的最大值
输出为
我第一次这么做:
0cha
1cha
a
2cha
3cha
a
4cha
5cha
a
6cha
第二、第三、第四等等。。我做这件事的时候:
6cha
6cha
6cha
6cha
6cha
6cha
6cha
(我的单词有7个字符,因此循环7次)
您的
if
和elif
缺少spot == wordlen
的情况,此时它将永远循环。您可能只需要else
,而不是elif
哎呀!我想出来了。。所以基本上
我把wordlen<;spot_l:when spot_l永远不会变大,因为它在相等时停止,因此wordlen=spot_l:works,感谢ShadowRanger帮助我实现将变量设置为值的语法。:)
您输入了
spot_l == 0
,它检查是否与0
相等(并且忽略它产生的bool
,这使得这更明显是一个错误);如果要通过赋值将其重置为0
,则需要spot_l = 0
相关问题 更多 >
编程相关推荐