python编程从入门到实践 第十章练习答案

# -*- coding: utf-8 -*-

# 10-1python学习笔记
# 读取整个文件
with open('G:\python\Pwork\python编程从入门到实战\learning_python.txt', 'r') as file_object:
    contents = file_object.read()
    contents = contents.replace('Python', 'C')
    print (contents + '\n')

# 遍历文件对象
with open('G:\python\Pwork\python编程从入门到实战\learning_python.txt') as file_object:
    for line in file_object:
        line = line.replace('Python', 'C')
        print (line + '\n')

# 将各行存储在一个列表中
with open('G:\python\Pwork\python编程从入门到实战\learning_python.txt') as file_object:
    lines = file_object.readlines()

for line in lines:
    line = line.replace('Python', 'C')
    print(line + '\n')

# 10-3访客
with open('guest.txt', 'w') as file_object:
    name = input('Please input your name:')
    file_object.write(name)

# 10-4访客名单
with open('guest_book.txt', 'a') as file_object:
    print ('If you want to quit , please entert "q".')
    while True:
        name = input('Please enter your name:')
        if name == 'q':
            break
        print ('Hello , ' + name + ' . Nice to meet you!')
        file_object.write(name + '\n')

# 10-5关于编程的调查
with open('research.txt', 'a') as file_object:
    print ('If you want to quit , please entert "q".')
    while True:
        name = input('Please enter your name:')
        if name == 'q':
            break
        reason = input('Why do you like program?')
        if reason == 'q':
            break
        file_object.write('Name:' + name + '\n')
        file_object.write('Reason:' + reason + '\n\n')

# 10-6加法运算
first_number = input('\nFirst Number:')
second_number = input('\nSecond Number:')
try:
    answer = int(first_number) + int(second_number)
except ValueError:
    print('You can\'t add two string.')
else:
    print(answer)

# 10-7加法计算器
print('Give me two number , and I\'ll add them.')
print ('If you want to quit , please enter "q".')

while True:
    first_number = input('\nFirst Number:')
    if first_number == 'q':
        break
    second_number = input('\nSecond Number:')
    if second_number == 'q':
        break
    try:
        answer = int(first_number) + int(second_number)
    except ValueError:
        pass
    else:
        print(answer)

# 10-8猫和狗
with open('cats.txt', 'a') as file_object:
    print ('If you want to quit , please entert "q".')
    while True:
        cats_name = input('Please enter your cat\'s name:')
        if cats_name == 'q':
            break
        file_object.write(cats_name + '\n')

with open('dogs.txt', 'a') as file_object:
    print ('If you want to quit , please enter "q".')
    while True:
        dogs_name = input('Please enter your dog\'s name:')
        if dogs_name == 'q':
            break
        file_object.write(dogs_name + '\n')

def count_name(filename):
    """计算一个文件中包含多少个名字"""
    try:
        with open(filename) as file_object:
            contents = file_object.read()
    except FileNotFoundError:
        print ('Sorry , the file ' + filename + 'does not exist.')
    else:
        names = contents.split()
        count_name = len(names)
        print ('The file ' + filename + ' has about ' + str(count_name) + ' names.')

filenames = ['cats.txt', 'dogs.txt']
for filename in filenames:
    count_name(filename)

#10-11喜欢的数字
import json

filename = 'favorite_number.json'

with open(filename,'w') as f_obj:
    '''将数字存储到文件'''
    favorite_number = input ('What\'s your favorite number? ')
    json.dump(favorite_number,f_obj)

with open(filename) as f_obj:
    '''读取文件中的内容'''
    favorite_number = json.load(f_obj)
    message = 'I know your favorite number . It\'s '
    print (message + favorite_number + '.')

#10-12记住喜欢的数字
import json

filename = 'favorite_number.json'

try:
    with open(filename) as f_obj:
        favorite_number = json.load(f_obj)
except FileNotFoundError:
    with open(filename,'w') as f_obj:
        favorite_number = input('What\'s your favorite number ? \n')
        json.dump(favorite_number,f_obj)
else:
    message = 'I know your favorite number . It\'s '
    print (message + favorite_number + '.\n')
#10-13验证用户
import json

def get_stored_username():
    ''''如果存储了用户名,就获取'''
    filename = 'username.json'
    try:
        with open(filename) as f_obj:
            username = json.load(f_obj)
    except FileNotFoundError:
        return None
    else:
        return username

def stored_new_username():
    ''''提示用户输入用户名,并存储到文件中'''
    filename = 'username.json'
    username = input('What\'s your name?\n')
    with open(filename,'w') as f_obj:
        json.dump(username,f_obj)
    return username

def greet_user():
    ''''问候用户,并指出其名字'''
    username = get_stored_username()
    if username:
        current_username = input('Is ' +username.title() + ' your name?\n')
        print ('(Enter "Y/y" for yes.)\n')
        if current_username.lower() == 'y':
            print ('Welcome back , ' + username.title() + '!\n')
        else:
            username = stored_new_username()
            print ('We\'ll remenber you when you come back , ' + username.title() + '!\n')

greet_user()
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值