Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “如果a==b[0]”在使用readlines()时不起作用_Python_File - Fatal编程技术网

Python “如果a==b[0]”在使用readlines()时不起作用

Python “如果a==b[0]”在使用readlines()时不起作用,python,file,Python,File,我正在写一个谁想成为百万富翁的程序,但我遇到的问题是,即使用户输入了正确的答案,它也会说这是错误的答案。我不熟悉从文件中阅读的事情,所以我可能遗漏了一些东西 示例输出: What do you think? 3 That is the wrong answer! The right answer was 3 Thanks for playing! 下面是一些代码: questions_file = open('questions.txt', 'r')

我正在写一个谁想成为百万富翁的程序,但我遇到的问题是,即使用户输入了正确的答案,它也会说这是错误的答案。我不熟悉从文件中阅读的事情,所以我可能遗漏了一些东西

示例输出:

    What do you think? 3
    That is the wrong answer!
    The right answer was 3

    Thanks for playing!
下面是一些代码:

    questions_file = open('questions.txt', 'r')
questions = questions_file.readlines()
choices_file = open('choices.txt', 'r')
choice = choices_file.readlines()
answers_file = open('answers.txt', 'r')
answers = answers_file.readlines()
prize_file = open('prize.txt', 'r')
prize = prize_file.readlines()

print('Question 1 for',prize[0])
print(questions[0])
print('1 -',choice[0])
print('2 -',choice[1])
print('3 -',choice[2])
print('4 -',choice[3])
answ_1 = int(input('What do you think? '))

if answ_1 == answers[0]:
    print('That is the correct answer!')
else:
    print('That is the wrong answer!')
    print('The right answer was',answers[0])
    print('Thanks for playing!')
    exit()
你让answ_1成为一个输入“你觉得怎么样?”但是来自文件的输入是字符串

或者将answ_1简化为一个字符串:answ_1=输入“您认为如何?”或者将答案也设为整数:如果回答1==intanswers[0]:

您将回答1设为整数,并输入“您认为如何?”但是来自文件的输入是字符串


或者将answ_1简化为一个字符串:answ_1=输入“您认为如何?”或者让答案也变成int:如果answ_1==intanswers[0]:

Hi,我在你的问题中添加了python标记,这样人们就更容易知道你问的是哪种语言了。在比较之前,我假设它是pythonAdd printrepansw_1,repranswers[0]。repr提供了比str更多的关于对象和数据的信息,并帮助您发现字符串和整数之间的差异以及可能导致比较无效的换行符。您好,我在您的问题中添加了python标记,这样人们就更容易知道您问的是哪种语言了。我假设它是PythonadPrintrepransw_1,repranswers[0]在比较之前。repr提供了比str更多的有关对象和数据的信息,并帮助您发现字符串和整数之间的差异以及可能使比较无效的换行符。如果字符串中有隐藏的换行符,将两者保留为字符串仍然可能失败。如果用户键入非数字的内容,则将用户输入转换为int可能会失败。只要从答案中删除换行符,“保留为字符串”选项就很好。我同意,我的答案仅限于解释出现此问题的原因,但不包括任何附加验证。我建议将两者转换为int并捕获任何ValueError,但我认为这可能超出了问题的范围。如果字符串中有隐藏的换行符,将两者保留为字符串仍然可能失败。如果用户键入非数字的内容,则将用户输入转换为int可能会失败。只要从答案中删除换行符,“保留为字符串”选项就很好。我同意,我的答案仅限于解释出现此问题的原因,但不包括任何附加验证。我建议将两者转换为int并捕获任何ValueError,但我认为这可能超出了问题的范围。