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

admin2020-04-10  5

问题 以下代码的输出结果是(    )。
  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()函数是把字符转换成对应的ASCII码,chr()函数是ord()函数的逆运算,把ASCII码转换成对应的字符输出,所以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,defauh=None)函数有两个参数:第一个参数是字典的键,第二个参数是默认值,作用是返回字典中key对应的值,如果key不存在,则返回默认值,如d={"A":"N",”O”:“B”,“Z”:”M”},d.get(“A”,“C”)返回的是N。当c=“P”时,去字典中查找是否存在键为“P”的值,遍历后存在,所以返回c,for循环继续遍历剩下的字符,在字典中找不到对应的键,则返回默认值,所以结果返回为Cython。本题选择D选项。
转载请注明原文地址:https://kaotiyun.com/show/m86p777K
0

最新回复(0)