Python 3.x 当用户输入为';y';如果是,将生成一个文本文件,输入为';n';,没有要创建的文本文件

Python 3.x 当用户输入为';y';如果是,将生成一个文本文件,输入为';n';,没有要创建的文本文件,python-3.x,text,input,output,Python 3.x,Text,Input,Output,本质上,我想要的是当用户对一个问题回答“y”时,脚本输出到一个文本文件,当用户回答“n”时,因为它不是简单地继续,而不是生成一个文本文件。 例如: 但当我运行此命令时,即使我回答“y”,它也会输出“else”响应。您正在比较两个字符串。你应该做的是 print('Do you like Python? (y/n)') logask = input() if logask == 'y': file = open("testlog.txt", "w") file.write("T

本质上,我想要的是当用户对一个问题回答“y”时,脚本输出到一个文本文件,当用户回答“n”时,因为它不是简单地继续,而不是生成一个文本文件。
例如:


但当我运行此命令时,即使我回答“y”,它也会输出“else”响应。

您正在比较两个字符串。你应该做的是

print('Do you like Python? (y/n)')

logask = input()

if logask == 'y':
    file = open("testlog.txt", "w")
    file.write("Thanks for the feedback!")
    file.close()
else:
    print('Oh, that\'s too bad...')

此外,您可能希望附加到而不是覆盖它
file=open(“testlog.txt”,“A”)
。如果你提前准备好文件,你就会知道它被回复了多少次

您正在将文本字符串
'y'
与文本字符串
'logask'
进行比较,而不是将字符串对象分配给名称
logask
@jornsharpe。非常感谢,我现在明白您的意思了。现在我该如何着手解决这个问题呢?如果这是一个愚蠢的问题,很抱歉,我是一个很早的初学者。删除引号:
如果logask='y':
啊,愚蠢的我,谢谢你的帮助!附加建议:在调试逻辑时,用诸如“print”(“Open,write,close file”)之类的内容替换实际操作。
print('Do you like Python? (y/n)')

logask = input()

if logask == 'y':
    file = open("testlog.txt", "w")
    file.write("Thanks for the feedback!")
    file.close()
else:
    print('Oh, that\'s too bad...')