2016-04-28 2 views
0

Я сделал этот код для вывода результатов в файл .txt, но ошибок нет, и он все равно не выводит оценки. Может ли кто-нибудь помочь мне узнать, почему я очень новичок в программировании. Thankyou :)вывод результатов из викторины в файл .txt

from random import shuffle 
print ("Welcome to the quiz! ") 
name = input('What is your name?: ') 


with open ("questions.txt") as f: 
    lines = f.readlines() 

shuffle (lines) 
numRight = 0 
wrong = [] 

numQuestions = int(input("How many questions? ")) 

for line in lines [:numQuestions]: 
    question, rightAnswer = line.strip().split("\t") 
    answer = input(question + ' ') 
    rightAnswer = rightAnswer.lower() 
    if answer.lower() == rightAnswer: 
     print ("Right!") 
     numRight +=1 
    else: 
     print ("No, the answer is", rightAnswer) 
     wrong.append(question) 


print ("You got %d right " % (numRight)) 
if (wrong): 
    print ("You got these wrong: ") 
    for q in wrong: 
     print (q) 

user_class = input('What class are you in?: ').lower() 
if user_class=="A": 
    my_file = open("classAScores.txt") 
    my_file.write(name + ' ' +str(numRight)) 
    my_file.close() 

elif user_class =="B": 
    my_file = open("classBScores.txt") 
    my_file.write(name + ' ' + str(numRight)) 
    my_file.close() 

elif user_class=="C": 
    my_file = open("classCScores.txt") 
    my_file.write(name + ' ' +str(numRight)) 
    my_file.close() 
+2

Почему вы делаете свой вклад строчную, а затем по сравнению с прописными буквами? – StephenTG

+0

@StephenTG haha ​​никогда не думал об этом –

ответ

0

Изменить эту часть кода:

user_class = input('What class are you in?: ').lower() 
if user_class=="a": 
    with open("classAScores.txt",'a') as my_file: 
     my_file.write(name + ' ' + str(numRight) + '\n') 
+0

Thankyou soooo много такого я сделал такую ​​глупую ошибку !! –

0

Не уверен, что все остальное от первого взгляда, однако я могу увидеть одну логическую ошибку точно:

user_class = input('What class are you in?: ').lower() 
if user_class=="A": 

Вы применяете .lower() в строку, а затем проверить на верхний регистр " A ", который никогда не произойдет.

+0

haha ​​yeah thanks –

Смежные вопросы