编写一个循环,提示用户输入其名字,当用户输入其名字后,在屏幕上打印一句问候语,并将一条访问记录添加到文件guest_book.txt中,确保这个文件中的每条记录独占1行;当用户输入q时停止本程序
时间: 2024-10-11 09:05:07 浏览: 32
编写这样一个程序,可以分为以下几个步骤:
1. 打开文件`guest_book.txt`(如果不存在则创建),并设置为追加模式("a"),以便新记录不会覆盖已有内容。
```python
filename = "guest_book.txt"
with open(filename, "a", newline="") as file:
pass # 初始化文件准备写入
```
2. 使用一个无限循环来持续提示用户输入,直到用户输入“q”为止。
```python
while True:
user_input = input("请输入您的名字(输入 'q' 结束):")
if user_input.lower() == "q":
break
```
3. 如果用户输入不是“q”,那么我们获取名字并打印问候语,同时将记录写入文件。
```python
name = user_input
greeting = f"欢迎您,{name}! 您的访问已记录。"
print(greeting)
with open(filename, "a", newline="") as file:
file.write(f"{name}\n") # 每次写入换行
```
4. 循环结束后关闭文件。
完整代码示例如下:
```python
filename = "guest_book.txt"
with open(filename, "a", newline="") as file:
pass
while True:
user_input = input("请输入您的名字(输入 'q' 结束):")
if user_input.lower() == "q":
break
name = user_input
greeting = f"欢迎您,{name}! 您的访问已记录。"
print(greeting)
file.write(f"{name}\n")
file.close()
```
阅读全文
相关推荐


















