首頁  >  問答  >  主體

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


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

黄舟黄舟2741 天前685

全部回覆(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
  • 取消回覆