【发布时间】:2022-01-16 12:02:56
【问题描述】:
这是计算机科学课程的作业。有没有办法让它工作,或者更有效地做到这一点?该程序的目标是让用户猜测所有四个数字(不必按顺序),告诉他们它们是否正确并显示尝试次数。该赋值要求至少包含一个带参数的函数和一个列表。
import random
# Sets tries and isCorrect to 0- not broken
tries = 0
isCorrect = 0
# Generates 4 random numbers- not broken
for i in range(4):
code = random.randint(1, 9)
code1 = random.randint(1, 9)
code2 = random.randint(1, 9)
code3 = random.randint(1, 9)
# Prints the random numbers for now- not broken
print(code)
print(code1)
print(code2)
print(code3)
# Guess = If the guess variables are equal to the code it tells you you're right
def guess(a, b, c, d):
global isCorrect
if a == code or code1 or code2 or code3 and b == code or code1 or code2 or code3 and c == code or code1 or code2 or code3 and d == code or code1 or code2 or code3:
print("You got it correct!")
else:
print("You got it wrong.")
return(a, b, c, d)
# While isCorrect is still 0 it prompts you to guess again, if it's correct it sets isCorrect to one
while isCorrect == 0:
gcode = int(input("Input your first guess: "))
gcode1 = int(input("Input your second guess: "))
gcode2 = int(input("Input your third guess: "))
gcode3 = int(input("Input your fourth guess: "))
guess(gcode, gcode1, gcode2, gcode3)
tries = tries + 1
#print("You got it wrong.")
if gcode == code or code1 or code2 or code3 and gcode1 == code or code1 or code2 or code3 and gcode2 == code or code1 or code2 or code3 and gcode3 == code or code1 or code2 or code3:
isCorrect = 1
# Makes it so the plural matches amount of tries
if tries != 1:
print("It took you", tries, "tries.")
else:
print("It took you", tries, "try.")
【问题讨论】:
-
投反对票,因为标题与代码不匹配。确保标题是所提出的实际问题的准确摘要。 (标题中显示的具体问题 --
x == a or b or c-- 是一个常见的 Python 错误,但实际上并没有出现在代码中..) -
如果我的问题写得不好,谁能解释一下原因?
-
标题:
.. gcode == code or code1 or code2 or code3 ..-- 这如何代表代码? -
我已经编辑了帖子以更好地匹配标题。