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