d.get('Thomas', -1)与>>> d.get('Thomas')的区别?
Topic sourced.get('Thomas') #若Thomas不存在,则返回None
d.get('Thomas', -1) #若Thomas不存在,则返回-1,-1是自己指定的值,可以运行下面的代码理解下:
在此插入代码
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} print(d.get('Michael', 'abc')) print(d.get('ABCDEF', 'abcdef'))
看了你们的对话 想到这样的作用了
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} qwer = input('输入姓名进行查询:') s = d.get(qwer, '此学生不存在') print(s)
但是有一个问题 我又不懂了! 我这个程序运行起来是没问题的,如果不是dict中录入的名字就会返回 此学生不存在 如果是录入的就会打印出“相应的值!”
问题就出在“相应的值”
因为要从dicth中get出一个key的值 是这样的 d.get('Bob') 需要双引号 如果不加双引号 d.get('Bob')是get不出来的 会出错
可是我前面的代码里是加不了双引号的
'qwer' = input('输入姓名进行查询:') 这一句加会出错 大概不能让字符串去指向一个值
s = d.get(‘qwer’, '此学生不存在') 如果这一句加的话qwer就不是一个变量了 和上一句的没有关联了。也不能达到查询的目的。
问题就是我的代码里没有给 d.get(qwer,‘此学生不存在’) 这句里的qwer加双引号为什么不出错?? 可能有点绕 但是你们应该明白我的意思的。求解,不明白我今天睡觉都不安生!!!!!!
还有 还有 d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} print(d.get('%s, 此学生不存在') % n = input('请输入姓名进行查询'))
最早我是打算这样弄的 但是是错的
我自己能感觉到这个代码有问题 但是改了很多次 都是出错0.0.!!!555
在交互模式里执行:
qwer = input('name: ')
然后随便输入一个名字,比如 Bob
然后再输入 qwer
就会显示 'Bob'
懂了么,qwer
是个变量,指向字符串 'Bob'
上面的操作就相当于给变了 qwer
赋值 'Bob'
qwer = 'Bob'
d.get(qwer)
就相当于 d.get('Bob')
,所以可以不给 qwer
加引号
建议你回去看一下变量那一章
至于你最后一个问题,正确的姿势是这样的
s = d.get('%s' % input('姓名: '), '学生不存在')
- 1
- 2
懒某人
这两句话好像作用都是一样的。 get中有无“-1”都会显示正确数值,那这里写入数值,在编程中有何特殊作用呢?