gpt4 book ai didi

python - 为什么其他的不能正常工作?

转载 作者:行者123 更新时间:2023-12-01 02:31:51 26 4
gpt4 key购买 nike

我正在为类(class)制作一个简单的刽子手游戏。当前的程序会执行绘图的每一步,即使用户得到了正确的答案。

import turtle
import random
import sys

while True:
list = ['report', 'beach', 'mayor', 'score', 'overeat', 'load', 'battery', 'social', 'honor', 'risk']

turns = 10
guesses = ''
err = 0

usedw = random.choice(list)

wn = turtle.Screen()
draw = turtle.Turtle()

length = len(usedw)

print("Welcome to hangman your word is", length, "letters long.")

while turns > 0:
guess = input("Choose a character: ")
guesses += guess;
lengthr = 0
for char in usedw:
if char in guesses:
print (char,)
lengthr += 1;
else:
err += 1;
if err == 1:
draw.goto(0,0)
draw.down()
draw.goto(200,0)
elif err == 2:
draw.up()
draw.goto(0,0)
draw.down()
draw.goto(0,200)
elif err == 3:
draw.up()
draw.goto(0,200)
draw.down()
draw.goto(100,200)
elif err == 4:
draw.up()
draw.goto(100,200)
draw.down()
draw.goto(100,150)
elif err == 5:
draw.up()
draw.goto(100,100)
draw.down()
draw.circle(25)
elif err == 6:
draw.up()
draw.goto(100,100)
draw.down()
draw.goto(100,50)
elif err == 7:
draw.up()
draw.goto(75,90)
draw.down()
draw.goto(125,90)
elif err == 8:
draw.up()
draw.goto(100,50)
draw.down()
draw.goto(75,35)
elif err == 9:
draw.up()
draw.goto(100,50)
draw.down()
draw.goto(125,35)
print("You loose.")
break
if lengthr == length:
print ("You won!")
break
cont = input("Would you like to continue (y/n) ")
if cont == 'y':
print("Alright!")
else:
print("Thanks for playing!")
break
sys.exit()

最佳答案

问题 是在你的判断逻辑中:

for char in usedw:
if char in guesses:
print (char,)
lengthr += 1;
else:
err += 1;
if err == 1:
...

for 遍历单词的字符。例如,如果单词是“overeat”,则每次猜测都会执行此循环次。即使玩家猜对了“e”,您也会指控他/她猜错了字母“ovrat”,并抽出了五个男孩部件。

<小时/>

修复

首先,您必须确定最近猜到的字母是否在单词任何地方中:

if guess in usedw:
print (char,)
lengthr += 1;
else:
err += 1;
if err == 1:
...

还有其他问题和改进,但这应该会让您前进。

关于python - 为什么其他的不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46738697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com