0
 #coding:GBK
import json
def getstoredname():
    filename = 'username.json'
    try:
        with open(filename) as f:
            username = json.load(f)
    except:
        return None
    else:
        return username
        
def getnewname():
    username = input("What is your name? ")
    filename = 'username.json'
    with open(filename,'a+') as f:
        json.dump(username,f)
    return username
    
def greetuser():
    username = getstoredname()
    if username:
        print("Welcome back, " + username + "!")
    else:
        username = getnewname()
        print ("We'll remember you when you come back, " + username + 
            "!")

greetuser()


这个问题应该怎么改代码?

查看全部 2 个回答

0

import json
'''
如果以前存储了用户名,就加载它,并询问是否为该用户的用户名,否则,
就提示用户输入用户名并存储它 。
'''
filename = 'username.json'
try:

with open(filename) as f_obj:
    username = json.load(f_obj)
    if input('Is that your name: ' + username +'?' + ' (y/n) \n')=='y':
        print("Welcom back,%s!" %username)
    else:
        username = input('What is your name?\n')
        with open(filename,'w') as f_obj:
            json.dump(username,f_obj)
            print("We'll remember you when you come back,%s!" % username)

except FileNotFoundError:

username = input('What is your name?\n')
with open(filename,'w') as f_obj:
    json.dump(username,f_obj)
    print("We'll remember you when you come back,%s!" % username)

推荐答案

1

已采纳
def greetuser():
    username = getstoredname()
    if username and input("Is that your name: " + username + " (y/n)")=="y":       
        print("Welcome back, " + username + "!")
    else:
        username = getnewname()
        print ("We'll remember you when you come back, " + username + 
            "!")

我回答過的問題: Python-QA

SegmentFault

一起探索更多未知

下载 App