Python 琐事程序:从文件读取和用户输入
我在这个琐事程序上遇到了麻烦。我必须能够通过while循环阅读文本文件中的问题和答案。然后我必须问用户答案是什么,并告诉他们答案是否正确。然后我必须告诉他们有多少答案是正确的。最后,我必须问他们是否希望再次运行 我的问题是,当我运行while循环时,它会超过文本文件中的第20个问题。我的代码如下,如果你能帮助我,那将是伟大的Python 琐事程序:从文件读取和用户输入,python,Python,我在这个琐事程序上遇到了麻烦。我必须能够通过while循环阅读文本文件中的问题和答案。然后我必须问用户答案是什么,并告诉他们答案是否正确。然后我必须告诉他们有多少答案是正确的。最后,我必须问他们是否希望再次运行 我的问题是,当我运行while循环时,它会超过文本文件中的第20个问题。我的代码如下,如果你能帮助我,那将是伟大的 print('Welcome to The Computer Trivia Program!') F=open('Culminating Project Trivia Qu
print('Welcome to The Computer Trivia Program!')
F=open('Culminating Project Trivia Questions.txt','r')
AC=0
while F!='':
Q=F.readline()
print(Q)
C1=F.readline()
print(C1)
C2=F.readline()
print(C2)
C3=F.readline()
print(C3)
C4=F.readline()
print(C4)
A=input('Enter an Anwser:')
ANS=F.readline()
print(ANS)
if A==ANS[14]:
print('Correct')
AC=AC+1
elif A!=ANS[14]:
print('Incorrect')
AC=AC
if F=='':
break
F.close()
print('Your Total Amount of Correct Answers out of 20 is:',AC)
print('Thankyou for Playing Computer Trivia!')
这是您的代码缩进和修复,并做了一些整理 不要使用文件指针执行字符串比较。发生在两个地方。您必须调用
F.readline()
,并确定这是否是'
您不需要使用条件指定elif
,否则就足够了
此外,一些readline
和print
语句可以折叠,但我不打算折叠它们
print('Welcome to The Computer Trivia Program!')
F = open('Culminating Project Trivia Questions.txt', 'r')
AC = 0
t = F.readline()
while t:
Q = t
print(Q)
C1=F.readline()
print(C1)
C2=F.readline()
print(C2)
C3=F.readline()
print(C3)
C4=F.readline()
print(C4)
A=input('Enter an Anwser:')
ANS=F.readline()
print(ANS)
if A == ANS[14]:
print('Correct')
AC = AC + 1
else:
print('Incorrect')
t = F.readline()
F.close()
print('Your Total Amount of Correct Answers out of 20 is:', AC)
print('Thankyou for Playing Computer Trivia!')
您的代码没有正确缩进。这样,它就不会像预期的那样运行了。嗨,是的,我知道,但我不知道在发布它时如何缩进。我在python中的代码确实有缩进。@Nada是的,因为F
是一个文件指针,并且永远不会等于'
@l3via,因此我们通常不会对python问题进行编辑以修复缩进,因为这可能会意外地纠正OP的问题。相反,我们试图让OP自己修复它。OTOH,如果OP认为您的编辑更改了他们的代码,我想他们可以随时修改或还原代码@L3viathan我当然同意问题代码需要缩进,但它应该按照OP机器上的方式缩进,而不是我们认为应该缩进的方式。我们可以假设,如果…elif
东西在OP的真实代码中正确缩进,但是如果OP没有进一步的证据,我们不能确定这一点。