以下代码的输出结果是( )。 d={} for i in range(26): d[chr(i+ord("A"))]=chr((i+13)%26+ord("A")) for c in "Python": print(d.get

admin2021-03-16  7

问题 以下代码的输出结果是(    )。
d={}
for i in range(26):
      d[chr(i+ord("A"))]=chr((i+13)%26+ord("A"))
for c in "Python":
      print(d.get(c,c),end="")

选项 A、Plguba
B、Cabugl
C、Python
D、Cython

答案D

解析 ord()函数是把字符转换成对应的ASCⅡ值,chr()函数是ord()函数的逆运算,把ASCⅡ值转换成对应的字符输出,所以ord("A")为65。
第一个for循环的作用是生成键值对存储在字典变量d中。当i=0,d[A]=N;i=1,d[B]=0一直到i=13,d[N]=A,后面的键值对与前面的键值对是互换位置的,如i=14,d[0]=B;i=15,d[P]=C。依次循环赋值,直到i=25时结束for循环。
第二个for循环的作用是输出字典的值,get(key,default=None)函数有两个参数:第一个参数是字典的键,第二个参数是默认值,作用是返回字典中key对应的值,如果key不存在,则返回默认值,如d={"A":"N","O":"B","Z","M"},d.get("A","C")返回的是N。当c="P"时,去字典中查找是否存在键为"P"的值,遍历后存在,所以返回C;for循环继续遍历剩下的字符,在字典中找不到对应的键,则返回默认值,所以输出结果为Cython。本题选择D选项。
转载请注明原文地址:https://jikaoti.com/ti/r950FFFM
0

最新回复(0)