Я только что начал программировать несколько дней назад. Я сделал эту программу, где пользователь может создать викторину (все буквы Q и A записаны в файл). Когда я приступаю к чтению файла ответов, я делаю оператор with, чтобы извлекать каждую строку независимо, а затем сравнивать ее с каждой независимой строкой файла Qs. Это работает отлично, и ценность, которую я хочу сравнить, действительно. Но когда ответ действительно совпадает с ответом на файл, оператор if все еще возвращает команды else! Это невероятно! Вот результат для уточнения.Оператор IF не сравнивает значения, полученные из файла
Вопрос номер 1: Что ваше имя
вход Ответ: Абдо
К сожалению, тот неправильно! Правильный ответ: Абдо
Ваш результата: 0
Вопроса номер 2: Что мое имя
входа Ответ: abdo1
К сожалению, тот неправильно! Правильный ответ: abdo1
Ваш результат: 0
Это мой код:
import sys
questions = []
answers = []
score = 0
print("+++++++++++++++Welcome to SS Quiz Maker++++++++++++++++")
save = input("Would you like to create a new quiz or load your saved one :")
if save == "y":
for i in range(0,2):
print("Question number",i + 1)
questions.append(input("Enter a Question :"))
answers.append(input("Enter an Answer :"))
f = open("SS_QUIZ_QUESTIONS.txt", "w")
f.truncate()
for i in questions:
f.write(i)
f.write("\n")
f.close()
f = open("SS_QUIZ_ANSWERS.txt", "w")
for i in answers:
f.write(i)
f.write("\n")
f.close()
else:
for i in range(0,2):
with open('SS_QUIZ_QUESTIONS.txt') as f:
u = 1
for line in f:
if u == i + 1:
break
with open('SS_QUIZ_ANSWERS.txt') as f:
u = 1
for line2 in f:
if u == i + 1:
break
print("Question Number ",i + 1," :",line)
ans = str(input("input the Answer :"))
if ans == line2:
print("Correct")
score = score +1
print("Your score is :",score)
else:
print("Sorry, thats Wrong!")
print("The right answer is :", line2)
print("Your score is :",score)
есть пробелы? можете ли вы напечатать две строки рядом? – depperm
Что вы подразумеваете под пробелом –
извините, не очень-то про питон, пожалуйста, будьте терпеливы со мной –