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

2024-06-26 09:09:58 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我试图实现的目标:我希望代码要求输入名字和姓氏,并将其写入文本文件。如果一个已经存在,我只希望信息附加到文档中,否则我希望它创建一个并添加信息。这执行得很好。但是,我在结束函数时遇到了问题。我想让它问我是否愿意在每次之后输入另一个名字,同时接受多种形式的回答“是”。我在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')

Tags: to代码nametxtinputyourrawfirstname
1条回答
网友
1楼 · 发布于 2024-06-26 09:09:58

您应该在while循环条件中使用^{}运算符。示例-

while stillWorking in ('Yes', 'yes', 'YES', 'y', 'Y'):

执行-(stillWorking == 'Yes', 'yes', 'YES', 'y', 'Y')时,它返回一个元组,该元组不是空的,因此它永远不会退出循环(在布尔上下文中,非空元组/列表是真的)。以显示—

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

相关问题 更多 >