【问题标题】:I want when the user input is 'y' for yes, a text file will be made, and when the input is 'n', no text file to be made我希望当用户输入为“y”时,将制作一个文本文件,当输入为“n”时,不制作文本文件
【发布时间】:2014-12-06 16:18:24
【问题描述】:

本质上,我想要的是当用户对问题回答“y”时,脚本输出到文本文件,当用户回答“n”时,它不会简单地继续,而不是制作文本文件。
示例:

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...')

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

【问题讨论】:

  • 您将文字字符串 'y' 与文字字符串 'logask' 进行比较,不是分配给名称 logask 的字符串对象。
  • @jonrsharpe 拍得好,非常感谢,我现在明白你的意思了。现在我将如何解决这个问题?对不起,如果这是一个愚蠢的问题,我是一个非常早的初学者。
  • 去掉引号:if logask == 'y':
  • 啊,我傻了,谢谢你的帮助!
  • 附加建议:在调试逻辑时,用 `print("Open, write, close file") 代替实际操作。

标签: python-3.x text input output


【解决方案1】:

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

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") 而不是覆盖它。如果您提前制作文件,那么您将知道它被回答了多少次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2018-06-17
    相关资源
    最近更新 更多