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

admin2022-09-09  46

问题 以下程序的输出结果是(          )。
   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[O]=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://kaotiyun.com/show/Za6p777K
0

最新回复(0)