def make_album(name, music, num = 1): dict = {'歌手': name, '专辑': music} if num != 1: dict['专辑数'] = num return dict print('输入歌手名和专辑') people = input('歌手') music = input('专辑') num = input('输入专辑数') print(make_album(people, music,num))
如上所示,当实参的num无论是否为1,输出的结果中总会出现专辑数这个键值对。
原因:当键值对的值为数字时,字典中的dict语句(dict['专辑数'] = num)会自动填充到dict = {'歌手': name, '专辑': music}里面,不受if判断句的控制
解决办法:将num的值类型更换为字符串型,如下所示。
综上,一般使用空字符串来替换整数型
希望对大家有帮助,这玩意当时确实让我迷了半天