登录

在Python中使用json模块的入门问题

 #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()


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

# Python
黄舟黄舟2146 天前474 次浏览

全部回复(2) 我要回复

  • 巴扎黑

    巴扎黑2017-04-18 10:29:47

    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

    回复
    0
  • 黄舟

    黄舟2017-04-18 10:29:47

    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)
    

    回复
    0
  • 取消回复发送