10-11 喜欢的数字 : 编写一个程序, 提示用户输入他喜欢的数字, 并使用json.dump() 将这个数字存储到文件中。 再编写一个程序, 从文件中读取这个值, 并打印
消息“I know your favorite number! It’s _____.”。
import json
number= '1'
filename = 'number.json'
with open(filename,'w')as f_obj:
json.dump(number,f_obj)
import json
filename = 'number.json'
with open(filename)as f_obj:
number = json.load(f_obj)
print("I know your favorite number! It's "+str(number))
10-12 记住喜欢的数字 : 将练习10-11中的两个程序合而为一。 如果存储了用户喜欢的数字, 就向用户显示它, 否则提示用户输入他喜欢的数字并将其存储到文件中。
运行这个程序两次, 看看它是否像预期的那样工作。
import json
filename = 'number1.json'
try:
with open(filename)as f_obj:
number = json.load(f_obj)
except FileNotFoundError:
number= '1'
with open(filename,'w')as f_obj:
json.dump(number,f_obj)
else:
print("I know your favorite number! It's "+str(number))
10-13 验证用户 : 最后一个remember_me.py版本假设用户要么已输入其用户名, 要么是首次运行该程序。 我们应修改这个程序, 以应对这样的情形: 当前和最后一次
运行该程序的用户并非同一个人。
为此, 在greet_user() 中打印欢迎用户回来的消息前, 先询问他用户名是否是对的。 如果不对, 就调用get_new_username() 让用户输入正确的用户名。
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 greet_user():
username = get_stored_username()
print(username)
flag = input('yes/no')
if flag == 'yes':
print("Welcome back, " + username + "!")
else:
username = get_new_username()
print("We'll remember you when you come back, " + username + "!")
def get_new_username():
username = input("What is your name?")
filename = 'username.json'
with open(filename,'w') as f_obj:
json.dump(username,f_obj)
return username
greet_user()
版权声明:本文为Arclight869原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。