Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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
以“结束输入();如果。。。不是没有”;使用Python3.6_Python_Python 3.x_If Statement_Input_Nonetype - Fatal编程技术网

以“结束输入();如果。。。不是没有”;使用Python3.6

以“结束输入();如果。。。不是没有”;使用Python3.6,python,python-3.x,if-statement,input,nonetype,Python,Python 3.x,If Statement,Input,Nonetype,我对Python非常陌生。我正在尝试制作一个待办事项列表(一个txt文件),然后我可以向其中添加内容。当我输入完东西后,我正在努力寻找正确的方法让脚本停止 我尝试了不同的方法来生成while循环和if语句,但是脚本总是要么停止,要么永远继续 我认为问题可能在于我将“notnone”赋值给一个变化的变量,但我不确定。这是我的代码: import time from datetime import date todo_file = open(f"ToDos_{date.today()}", 'a'

我对Python非常陌生。我正在尝试制作一个待办事项列表(一个txt文件),然后我可以向其中添加内容。当我输入完东西后,我正在努力寻找正确的方法让脚本停止

我尝试了不同的方法来生成while循环和if语句,但是脚本总是要么停止,要么永远继续

我认为问题可能在于我将“notnone”赋值给一个变化的变量,但我不确定。这是我的代码:

import time
from datetime import date

todo_file = open(f"ToDos_{date.today()}", 'a')

todo_file.write(input("What do you need to do tomorrow? "))
todo_file.write("\n")

todo = input("What else? ")

if todo is not None:
    todo_file.write(todo)
    todo_file.write("\n")
else:
    pass

todo_file.close()

对我如何写这篇文章的任何其他批评都是非常受欢迎的。

多亏了@abccd和@Christian,问题解决了。当然,我需要一段时间的循环。我不会再把它们混在一起了。代码还缺少输入提示。它现在可以工作了,如下所示:

import time
from datetime import date

todo_file = open(f"ToDos_{date.today()}", 'a')

todo_file.write(input("What do you need to do tomorrow? "))
todo_file.write("\n")

todo = input("What else? ")

while todo != "":
    todo_file.write(todo)
    todo_file.write("\n")
    todo = input("What else? ")

todo_file.close()

todo
永远不能是
None
,因为
input()
在Python 3中总是返回字符串,当您不提供任何文本输入时,将返回空字符串。如果todo!=“”:谢谢,这很有道理。在第二次提示后(在“还有什么?”)脚本仍然直接停止,不允许我添加更多项目。如果没有todo,则@abccd:
更好。您需要一个循环@Samia00。对于如何构造循环,您有多种选择,但最简单的是while循环,它只在
todo
为空时进行测试。非常感谢,@Christian。我现在用这些信息回答了我自己的问题,我希望这是正确的方法。我只是偶然发现了一种更简单的方法来执行while循环:
while todo:
就足够了,因为它意味着“while todo不是空的”。