为了账号安全,请及时绑定邮箱和手机立即绑定

为什么没有打印在输出中???Python

为什么没有打印在输出中???Python

喵喵时光机 2023-10-18 15:29:58
import jsonfile = 'favnum.json'def save_fav():    number = input('Type your favourite number: ')    with open(file, 'w') as f:        num = json.dump(number, f)        return numdef get_stored_number():    try:           with open(file) as f:            number_fav = json.load(f)            except FileNotFoundError:        return None    else:        return number_favdef main_number():    num = get_stored_number()        if num:        print('your favourite number is: ')        print(num)        else:        print('the number had not saved before\nthus you have to save it')        numbers = save_fav()        print('your number is saved')        print(numbers)main_number()输出:the number had not saved beforethus you have to save itType your favourite number: 3.14your number is savedNone
查看完整描述

3 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

您应该在函数 save_fav() 中返回 number 而不是 num



查看完整回答
反对 回复 2023-10-18
?
largeQ

TA贡献2039条经验 获得超7个赞

我认为你的功能:


def save_fav():

    number = input('Type your favourite number: ')

    with open(file, 'w') as f:

        num = json.dump(number, f)

        return num

应该是这样的:


def save_fav():

    number = input('Type your favourite number: ')

    with open(file, 'w') as f:

        json.dump(number, f)

    return number

在您的版本中,json.dump返回None,这就是您从函数返回的内容,然后稍后打印。


查看完整回答
反对 回复 2023-10-18
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

因为json.dump除了 None 之外不会返回任何内容,并且您将其保存在 num 中,并返回 num 所以函数也返回 num 。因此,返回任何有意义的其他内容,例如空字符串。



查看完整回答
反对 回复 2023-10-18
  • 3 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信