您的位置:首页 > 编程语言 > Python开发

Python课本第十章课后习题选做

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

print('======================================')

with open('learning_python.txt','r') as file:
for line in file:
print(line.rstrip())

print('======================================')

with open('learning_python.txt','r') as file:
lines = file.readlines()

print(lines)
In Python you can use list.
In Python you can use dictionary.
In Python you can use class.
======================================
In Python you can use list.
In Python you can use dictionary.
In Python you can use class.
======================================
['In Python you can use list.\n', 'In Python you can use dictionary.\n', 'In Python you can use class.']


10-4 访客名单 :编写一个 while 循环,提示用户输入其名字。用户输入其名字后,在屏幕上打印一句问候语,并将一条访问记录添加到文件 guest_book.txt 中。确保这个文件中的每条记录都独占一行。
with open('guest_book.txt','w') as file:
flag = True
while flag:
name = input('What is your name( quit to quit ): ')
if name == 'quit':
flag = False
continue
print('Hello, {}.'.format(name))
file.write(name+'\n')
What is your name( quit to quit ): cindy
What is your name( quit to quit ): cindy
Hello, cindy.
What is your name( quit to quit ): candy
Hello, candy.
What is your name( quit to quit ): quit
guest_book.txt:cindy
candy
10-6 加法运算 :提示用户提供数值输入时,常出现的一个问题是,用户提供的是文本而不是数字。在这种情况下,当你尝试将输入转换为整数时,将引发 TypeError 异常。编写一个程序,提示用户输入两个数字,再将它们相加并打印结果。在用户输入的任何一个值不是数字时都捕获 TypeError 异常,并打印一条友好的错误消息。对你编写的程序进行测试:先输入两个数字,再输入一些文本而不是数字。
print('Please input two numbers: ')
count = 0
operand = []
while count < 2:
try:
num = int(input())
except ValueError:
print('Not a num!')
else:
operand.append(num)
count += 1
print(operand[0]+operand[1])
Please input two numbers:
1
a
Not a num!
2
3

10-10 常见单词 :访问项目 Gutenberg ( http://gutenberg.org/ ),并找一些你想分析的图书。下载这些作品的文本文件或将浏览器中的原始文本复制到文本文件中。你可以使用方法 count() 来确定特定的单词或短语在字符串中出现了多少次。
def countWords( filename, word ):
with open(filename,'r',encoding='utf-8') as file:
return file.read().lower().count(word)

filenames = ['Heart of Europe.txt', 'Carlo Porta e la sua Milano.txt']
for filename in filenames:
print(countWords(filename,'the'))
7104
208


10-11 喜欢的数字 :编写一个程序,提示用户输入他喜欢的数字,并使用 json.dump() 将这个数字存储到文件中。再编写一个程序,从文件中读取这个值,并打印消息 “I know your favorite number! It's _____.” 。
10-12 记住喜欢的数字 :将练习 10-11 中的两个程序合而为一。如果存储了用户喜欢的数字,就向用户显示它,否则提示用户输入他喜欢的数字并将其存储到文件中。运行这个程序两次,看看它是否像预期的那样工作。
import json

try:
with open('number.json') as file:
num = json.load(file)
except FileNotFoundError:
with open('number.json','w') as file:
num = input('What is you favorite number: ')
json.dump(num,file)
else:
print("I know your favorite number! It's {}.".format(str(num)))
What is you favorite number: 1
I know your favorite number! It's 1.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: