繁体   English   中英

为什么我在运行程序时输入的前两个输入会在文本文件中重复?

[英]Why do the first two inputs I enter when I run my program repeat in the text file?

我正在尝试制作 flash 卡生成器,但我无法从文本文件中收集输入。 当程序询问用户问题和答案时,它会将信息放入一个文本文件中,以便稍后在用户希望查看信息时使用。 但是,每当程序第一次运行时,前两个输入在文本文件中重复两次。

这个错误的一个例子是这样的:

What is the capitol of New York, RochesterWhat is the Capitol of New York, Rochester .

这是我为完成任务而编写的代码:

user_inputs = []
f = open('flash_card.txt', 'a')
print('Hello! Welcome to Flash Card Study Helper:)')
create_add = input('Do you wish to create new cards? ')
while create_add == ('yes'):
    question = input('Please type out the question: ')
    answer = input('Please type out the answer: ')
    combined = ','.join(user_inputs)
    f.write(combined+'\n')
    user_inputs.append(combined)
    create_add =input('Do you wish to create another card? ')
else:
   print(user_inputs)

为什么我的输入在写入文件时会重复?

您正在跟踪user_input中的所有用户输入,然后每次通过循环将其写入您的文件。 所以,第一次,你写 q1, a1。 下一次,你写 q1, a1, q2, a2。 下一次,你写 q1, a1, q2, a2, q3, a3。 如果你真的想在每个循环中更新文件,你应该只写新的东西:

    q_a = question + ',' + answer
    f.write(q_a+'\n')
    user_inputs.append(q_a)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM