【发布时间】:2020-02-21 21:46:29
【问题描述】:
问题: 我必须创建一个程序,用户必须在 pi 中一个接一个地猜测一个数字。 如果他猜对了。它打印正确。 如果错了就错了。 它还计算 r/w 猜测。
我的问题是我的代码没有跳到下一个数字来猜测。 用户总是猜同一个数字。
设置:
pi = open("pi.txt", "r")
name = input("Enter username: ")
print("Hey", name)
seed = len(name)
pi.seek(seed)
digit = pi.read(1)
#guess = input("enter a single digit guess or 'q' to quit: ")
correct_counter = 0
wrong_counter = 0
循环:
while True:
guess = input("enter a single digit guess or 'q' to quit: ")
if guess.isdigit():
if digit == ".":
digit = pi.read(1)
elif digit == "\n":
seed += 1
pi.seek(seed)
else:
if guess == digit:
print("correct")
correct_counter += 1
else:
print("incorrect")
wrong_counter += 1
else:
break
print("correct answers: ", correct_counter)
print("incorrect answers: ", wrong_counter)
pi.close()
输出:
enter a single digit guess or 'q' to quit: 1
correct
enter a single digit guess or 'q' to quit: 1
correct
enter a single digit guess or 'q' to quit: 1
correct
enter a single digit guess or 'q' to quit: 1
correct
我对编码很陌生,这是我的第一个问题。所以请给我反馈以改进。
【问题讨论】:
-
你为什么要
pi.seek(seed)? -
您需要读取循环中的下一个字符。
-
我猜问题出在 pi.read(1) 行。这个文件里的数据是怎么存储的
pi.txt -
您只在
if guess.isdigit()之后运行另一个ifs - 但\n不是数字,因此永远不会被执行。然而这就是你seed += 1 -
@finefoot :这是任务的一部分