我在这个琐事计划中遇到了麻烦。我必须能够使用while循环从文本文件中读取问题和答案。然后,我必须询问用户答案是什么,并告诉他们是否正确。然后我必须告诉他们他们得到了多少答案。最后,我不得不问他们是否希望再次运行它。
我的问题是,当我运行while循环时,它运行在文本文件中的第20个问题之后。我的代码在下面,如果你可以帮助我那会很棒。
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!')
答案 0 :(得分:1)
这是你的代码缩进和修复,并做了一点管家。
不要对文件指针执行字符串比较。发生在2个地方。您必须致电F.readline()
并确定 是否为''
。
您无需使用条件指定elif
- else
即可。
此外,其中一些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!')