《Python编程:从入门到实践》第10章课后题答案

python编程 · 2020-08-26
      10-1 Python学习笔记: 在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中每一行都以“In Python you can”打头。将这个文件命名为learning_python.txt,并将其存储到为完成本章练习而编写的程序所在的目录中。编写一个程序,它读取这个文件,并将你所写的内容打印三次:第一次打印时读取整个文件;第二次打印时遍历文件对象;第三次打印时将各行存储在一个列表中,再在with代码块外打印它们。
filename = 'learning_python.txt'

print("---Reading in the entire file:")
with open(filename) as f:
    contents = f.read()
print(contents)

print("\n---Looping oveer the lines:")
with open(filename) as f:
    for line in f:
        print(line.rstrip())

print("\n---Storing the lines in a list:")
with open(filename) as f:
    lines = f.readlines()
for line in lines:
    print(line.rstrip())
10-2 C语言学习笔记: 可使用方法replace()将字符串中的特定单词都替换为另一个单词。下面是一个简单的示例,演示了如何将句子中的'dog'替换为'cat':
message = "I really like dogs."
message.replace('dog', 'cat')
'I really like cats.'
读取你刚创建的文件learning_python.txt中的每一行,将其中的Python都替换为一门语言的名称,如C。将修改后的各行都打印到屏幕上。
filename = 'learning_python.txt'

with open(filename) as f:
    lines = f.readlines()

for line in lines:
    line =line.rstrip()
    print(line.replace('Python', 'C'))
10-3 访客:编写一个程序,提示用户输入其名字;用户作出响应后,将其名字写出到文件guest.txt中。
name = input("What's your name? ")

filename = 'guest.txt'
with open(filename, 'w') as f:
    f.write(name)
10-4 访客名单:编写一个while循环,提示用户输入其名字。用户输入其名字后,在屏幕上打印一句问候语,并将一条访问记录添加到文件guest_book.txt中。确保这个文件中的每条记录都独占一行。
filename = 'guest_book.txt'

print("Enter 'quit' when you are finished.")
while True:
    name = input("\nWhat's your name? ")
    if name == 'quit':
        break
    else:
        with open(filename, 'a') as f:
            f.write(name + "\n")
        print("Hi "+ name + ", you've been added ton the guestbook.")