Bootstrap

python-24-零基础自学python while循环+交互+数据的存储

学习内容:《python编程:从入门到实践》第二版

知识点:

文件处理  with open()while

练习内容:10章练习题10-3、10-4、10-5

练习10-3:访客 编写一个程序,提示用户输入名字。用户做出响应后,将其名字写入文件guest.txt中。

name = input("请输入您的名字:")

filename = 'guest.txt'

with open(filename,'w') as file_object:
    file_object.write(f"{name}\n")

 结果:

练习10-4:访客名单 编写一个while循环,提示用户输入名字。用户输入名字后,在屏幕上打印一句问候语,并将一条到访记录添加到文件guest_book.txt中。确保这个文件中的每条记录都独占一行。

while True:
    name = input("请输入您的名字:")
    print(f"您好,{name}")

    filename = 'guest_book.txt'
    with open(filename,'a') as file_object:
        file_object.write(f"{name}\n")

 

自动创建文件txt

 

文件内容显示:

第一次写成\t了,实际上显示的是每个名字之间是空格

第二次修改成\t,显示就是第一次和第二次的内容在一起了↓

正确的操作应该是:

覆盖第一次用w,然后修改成增加a,应该有两次,或者直接修改原来文件中的部分,

但这又涉及到,如果需要修改程序,但是原来程序已有的数据如何修改的问题,还挺麻烦的

那么,日常工作中遇到这个情况的更改思路是什么呢?尤其是数据多的时候???

练习10-5:调查 编写一个while循环,询问用户为何喜欢编程。每当用户输入一个原因后,都将其添加到一个存储所有原因的文件中。

while True:
    prompt = "请问您为什么喜欢编程呢?请写下原因"
    reason = input(prompt)

    filename = '10_5_guest_reason.txt'
    with open(filename,'a') as file_object:
        file_object.write(f"{reason}\n")

1.注意写好\n保持结果清晰

2.如果全部的询问储存在一个结果中,可以是单独的问题,也可以是以字典形式存在book中,用户储存文件和前端可以看的文件就不同了,云计算是否相当于把文件直接存在云端,如果存在云端,显示形式还是txt的样子吗?不太懂,可能以后能知道。

;