# 记录输入的数字并输出
# 如果已经有数字了,就先输出;如果没有则重新记录
# 所以程序至少运行两次
1 import json
2 filename = 'numfile.txt'
3 def get_num():
4 '''获取并记录输入的数据'''
5 num = int(input('请输入你最喜欢的数字:'))
6 with open(filename, 'w') as f1: # 'w'模式每次都会覆盖,所以只记录一次
7 json.dump(num, f1)
8
9
10 def output_num():
11 '''输出所记录输入的数据'''
12 with open(filename, 'r') as f2:
13 out_num = json.load(f2)
14 return out_num
15
16
17 def ful_pro():
18 get_num()
19 outnum = output_num()
20 print("你最喜欢的数字是:", outnum)
21
22 # 下面是排除第一次运行没有numfile.txt文件的异常
23 try:
24 outnum = output_num()
25 except FileNotFoundError:
26 print('你还没有输入最喜欢的数字!')
27 ful_pro()
28 else:
29 print("你最喜欢的数字是", outnum, '吗?')
30 answer = input('请回答Y or N:')
31 if answer == 'Y' or answer == 'y':
32 print('再见^-^')
33 elif answer == 'N' or answer == 'n':
34 ful_pro()
35 else:
36 print('输入错误!')
37 ful_pro()