编写程序,循环提示用户输入姓名,把用户输入的姓名追加到一个文件中,再把文件中已经保存的所有姓名显示到屏幕上。当用户输入字母“q”时,退出循环。用python
时间: 2023-09-17 14:05:10 浏览: 111
我用python写的程序《请输入您的姓名》
### 回答1:
可以使用以下代码实现:
```python
filename = "names.txt" # 文件名
names = [] # 用于保存已输入的姓名
while True:
name = input("请输入姓名(输入 q 退出):")
if name == "q":
break # 输入 q 时退出循环
names.append(name) # 将输入的姓名添加到列表中
# 将姓名写入文件中
with open(filename, "a") as f:
f.write(name + "\n")
# 从文件中读取已保存的姓名并打印到屏幕上
with open(filename, "r") as f:
all_names = f.read().splitlines()
print("已保存的姓名:")
for name in all_names:
print(name)
```
代码中使用了一个名为 `names` 的列表来保存所有输入的姓名。每次输入一个姓名,便将其添加到列表中。使用 `with open()` 语句打开文件,使用 `"a"` 模式(追加模式)将新输入的姓名写入文件中。在退出循环后,再次使用 `with open()` 语句打开文件,读取其中所有已保存的姓名,并打印到屏幕上。`read()` 方法会将文件中所有内容读取为一个字符串,使用 `splitlines()` 方法将其按行分割成一个列表。最后,使用一个 for 循环遍历该列表,并将每个姓名打印到屏幕上。
### 回答2:
可以使用以下代码实现该功能:
```python
def save_name():
# 打开文件,如果文件不存在则创建一个新的文件
file = open("names.txt", "a+")
while True:
name = input("请输入姓名:")
if name == "q":
break
# 将用户输入的姓名追加到文件中
file.write(name + "\n")
# 关闭文件
file.close()
# 重新打开文件,以便读取文件中的姓名
file = open("names.txt", "r")
# 读取文件中的所有姓名,并显示到屏幕上
names = file.readlines()
print("所有姓名:")
for name in names:
print(name.strip())
# 关闭文件
file.close()
```
在上述代码中,我们定义了一个名为`save_name()`的函数来实现循环提示用户输入姓名并将其追加到文件的功能。该函数会打开一个名为`names.txt`的文件,如果文件不存在则会创建一个新的文件。然后使用一个无限循环来询问用户输入姓名,直到用户输入字母"q"为止,循环将被终止。
在每次循环中,我们将用户输入的姓名追加到文件中,并在用户输入"q"时跳出循环。然后,我们重新打开文件以便读取文件中的所有姓名,并将其保存到一个列表中。最后,依次遍历列表中的每个姓名,并将其显示到屏幕上。
最后别忘记调用`save_name()`函数来运行程序。
### 回答3:
可以使用Python的文件操作和循环语句来实现这个程序。
首先,我们需要创建一个空的文件来保存用户输入的姓名。假设我们的文件名为`names.txt`。
接下来,我们可以使用一个while循环来提示用户输入姓名,并把输入的姓名追加到文件中。循环条件可以设置为当用户输入的不是字母"q"时继续循环。
最后,我们通过读取文件中保存的姓名,并将其显示到屏幕上。
下面是实现这个程序的代码:
```python
# 打开文件,追加模式
file = open("names.txt", "a")
while True:
name = input("请输入姓名(输入字母\"q\"退出):")
if name == "q":
break
# 将姓名写入文件中
file.write(name + "\n")
# 关闭文件
file.close()
# 重新打开文件,读取模式
file = open("names.txt", "r")
# 读取文件中的姓名,并打印到屏幕上
names = file.readlines()
print("已经保存的姓名有:")
for name in names:
print(name.strip())
# 关闭文件
file.close()
```
这段代码首先打开一个名为`names.txt`的文件,并设置追加模式。然后,通过一个while循环,循环提示用户输入姓名,并将姓名追加到文件中。当用户输入字母"q"时,退出循环。
接着,代码重新打开文件,这次设置为读取模式。然后,通过`readlines()`函数读取文件中的姓名,并打印到屏幕上。在打印的过程中,我们使用`strip()`函数来删除姓名两端的换行符。
最后,关闭文件操作。
阅读全文