使用 while 循环将用户输入写入文件
Using while loop to write user input to a file
我创建了一个程序,允许用户在我的文本文件中输入他们的名字。问题是我现在需要让它成为一个允许输入多个名称的 while 循环。
我可以通过 for 循环来获取它,但我特别需要 while 循环。下面是我的代码,到目前为止没有循环。
filename = input ("visitor_log.txt: ");
with open("visitor_log.txt", "w") as f:
f.write(input("Please write your name:"));
实际结果会将输入的姓名保留为我可以打印的列表。
while循环有一个条件,只要条件为真,循环就会继续执行。
while some_condition:
//Do some stuff
//Change your condition if necessary
虽然条件some_condition计算结果为真,循环范围内的代码将继续执行。如果您的条件永远不会变为 False,那么您的循环将永远执行。
您需要做的是确定继续循环代码的条件,然后根据您的输入根据需要更改该条件。这是我的示例,它将读取名称,直到输入单词 "END"。
with open("visitor.txt", "a") as f:
accept_more_visitors = True
while accept_more_visitors:
input_value = input("Please write your name, or 'END' if you are done.")
if input_value == "END":
break
f.write(input_value)
另一个主要区别是您打开带有标志 "w" 的文件,这将覆盖该文件。您可能想要标志 "a" 将附加到它的末尾。
# 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
for text
这应该有效
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_log.txt。
名称存储在名称列表中,因此您可以遍历该列表并使用它做任何您喜欢的事情。
试试这个:
filename = input ("visitor_log.txt: ")
with open("visitor_log.txt", "a") as f:
i=0
while (i<5):
f.write(input("Please write your name:"))
f.write('\n')
i +=1
我创建了一个程序,允许用户在我的文本文件中输入他们的名字。问题是我现在需要让它成为一个允许输入多个名称的 while 循环。
我可以通过 for 循环来获取它,但我特别需要 while 循环。下面是我的代码,到目前为止没有循环。
filename = input ("visitor_log.txt: ");
with open("visitor_log.txt", "w") as f:
f.write(input("Please write your name:"));
实际结果会将输入的姓名保留为我可以打印的列表。
while循环有一个条件,只要条件为真,循环就会继续执行。
while some_condition:
//Do some stuff
//Change your condition if necessary
虽然条件some_condition计算结果为真,循环范围内的代码将继续执行。如果您的条件永远不会变为 False,那么您的循环将永远执行。
您需要做的是确定继续循环代码的条件,然后根据您的输入根据需要更改该条件。这是我的示例,它将读取名称,直到输入单词 "END"。
with open("visitor.txt", "a") as f:
accept_more_visitors = True
while accept_more_visitors:
input_value = input("Please write your name, or 'END' if you are done.")
if input_value == "END":
break
f.write(input_value)
另一个主要区别是您打开带有标志 "w" 的文件,这将覆盖该文件。您可能想要标志 "a" 将附加到它的末尾。
# 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
for text
这应该有效
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_log.txt。
名称存储在名称列表中,因此您可以遍历该列表并使用它做任何您喜欢的事情。
试试这个:
filename = input ("visitor_log.txt: ")
with open("visitor_log.txt", "a") as f:
i=0
while (i<5):
f.write(input("Please write your name:"))
f.write('\n')
i +=1