Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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中执行多个响应和使用变量_Python_Variables_While Loop - Fatal编程技术网

记录数据以及如何在python中执行多个响应和使用变量

记录数据以及如何在python中执行多个响应和使用变量,python,variables,while-loop,Python,Variables,While Loop,以下是我试图实现的目标:我希望代码要求输入名字和姓氏,并将其写入文本文件。如果一个已经存在,我只希望信息附加到文档中,否则我希望它创建一个并添加信息。这执行得很好。但是,我在结束函数时遇到了问题。我想让它问我是否愿意在每次之后输入另一个名字,同时接受多种形式的回答“是”。我在while循环之前初始化了变量,并尝试了许多不同的方法来实现这一点,但无法使其正常工作。有什么建议吗?我将在下面附上代码 import os stillWorking = 'Yes' while (stillWorking

以下是我试图实现的目标:我希望代码要求输入名字和姓氏,并将其写入文本文件。如果一个已经存在,我只希望信息附加到文档中,否则我希望它创建一个并添加信息。这执行得很好。但是,我在结束函数时遇到了问题。我想让它问我是否愿意在每次之后输入另一个名字,同时接受多种形式的回答“是”。我在while循环之前初始化了变量,并尝试了许多不同的方法来实现这一点,但无法使其正常工作。有什么建议吗?我将在下面附上代码

import os
stillWorking = 'Yes'
while (stillWorking == 'Yes', 'yes', 'YES', 'y', 'Y'): 
    if os.path.exists('.\WhoWasHere.txt'):
        firstName = raw_input('Please enter your first name: ')
        lastName = raw_input('Please enter your last name: ')
        whoWasHere = open('.\WhoWasHere.txt', 'a')
        whoWasHere.write(firstName + '\t')
        whoWasHere.write(lastName + '\t\n')
        whoWasHere.close()
        stillWorking = raw_input('Do you wish to enter another name?')
    else:
        firstName = raw_input('Please enter your first name: ')
        lastName = raw_input('Please enter your last name: ')   
        whoWasHere = open('.\WhoWasHere.txt', 'w')
        whoWasHere.write(firstName + '\t')
        whoWasHere.write(lastName + '\t\n')
        whoWasHere.close()
        stillWorking = raw_input('Do you wish to enter another name?')
print('Your name has been written to the log.')
exit = raw_input('You may now press any key to exit')
您应该在
while
循环条件中使用运算符。范例-

while stillWorking in ('Yes', 'yes', 'YES', 'y', 'Y'):
执行-
(stillWorking==“Yes”、“Yes”、“Yes”、“y”、“y”)
时,它返回一个元组,该元组不是空的,因此它永远不会退出循环(非空元组/列表在布尔上下文中为true)。表明-

>>> stillWorking = 'Yes'
>>> stillWorking == 'Yes', 'yes', 'YES', 'y', 'Y'
(True, 'yes', 'YES', 'y', 'Y')

谢谢我只是在教自己如何编程,所以正如你所看到的,我对一些开始的概念仍然有困难。这是完全有道理的!谢谢你的详细解释!