使用while循环将用户输入写入fi

2024-04-26 00:20:04 发布

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

我创建了一个程序,允许用户在我的文本文件中输入他们的名字。问题是我现在需要使它成为一个while循环,允许输入多个名称。在

我可以用for循环得到它,但是我特别想要一个while循环。下面是我的代码没有循环到现在为止。在

filename = input ("visitor_log.txt: ");
with open("visitor_log.txt", "w") as f:
    f.write(input("Please write your name:"));

实际的结果会将输入的姓名保留为我可以打印的列表。在


Tags: 代码用户程序txt名称logforinput
3条回答
# filename = input ("visitor_log.txt: ")

with open("./visitor_log.txt", "w") as f:
    text = ''

    while text != 'exit\n':
        text = raw_input("Please write your name:")
        print(text)
        text = str(text) + "\n"
        f.write(text)

对于文本,raw_input更好input

while循环有一个条件,只要条件为真,循环将继续执行。在

while some_condition:
    //Do some stuff
    //Change your condition if necessary

某个条件的计算结果为True时,循环范围内的代码将继续执行。如果条件从未变为False,则循环将永远执行。在

您需要做的是决定将用于继续循环代码的条件,然后根据您的输入根据需要更改该条件。这里是我的示例,它将读取名称,直到输入单词“END”。在

^{pr2}$

另一个关键的区别是,您打开的文件带有标志“w”,这将覆盖该文件。你可能想要一个标志“a”,它将附加到它的末尾。在

这应该行得通

names = []
while True:
    name = input ('Enter your name: ')
    names.append(name)
    if input ('Hit enter to add another name, or type done to continue') == 'done':
        break

towrite =''
with open("visitor_log.txt", "w") as f: 
        for name in names:
            towrite+= name + "\n"
         f.write(towrite)

这样做的目的是让用户输入他们想要的任意多个名称,将它们附加到一个列表中,然后将这些名称写入visitor_日志.txt. 在

名称存储在names列表中,因此您可以遍历该列表并对其执行您喜欢的操作。在

相关问题 更多 >