这是我的代码:
import json
# 打开文件
def user():
filename = 'user.json'
try:
with open(filename) as file_obj:
old_name = json.load(file_obj)
except FileNotFoundError:
return None
else:
return old_name
# 输入新的用户名
def get_new_username():
new_name = input('Please enter your name: ')
filename = 'user.json'
with open(filename, 'w') as file_obj:
json.dump(new_name, file_obj)
return new_name
# 输出问候或询问
def greet_user():
name = user()
while True:
if name:
pd = input(name + ' Is this it ? ')
pd = pd.lower()
if pd == 'y':
print('Welcome back ' + name + ' .')
break
elif pd == 'n':
new_name = get_new_username()
print('I remember your name: ' + new_name + ' .')
break
else:
print('Please try again. Y/N ! ')
greet_user()
运行后不报错,没反应。
这是论坛里的
import json
def get_sorted_username():
"""如果存储了用户名,就获取它"""
filename = 'username.json'
try:
with open(filename) as f_obj:
username = json.load(f_obj)
except FileNotFoundError:
return None
else:
return 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
def greet_user():
username = get_sorted_username()
if username:
result = input(username + "is right?")
if result == 'y':
print("Welcom back,", username, "!")
else:
username = get_new_username()
print("Welcom back,", username, "!")
else:
username = get_new_username()
print("We'll remember you when you come back,", username, "!")
if __name__ == "__main__":
greet_user()
这个可以正常运行。
对比了好几遍没发现问题啊。