n=int(input())
zm={2:'B',3:'C',4:'D',5:'E',6:'F',7:'G',8:'H',9:'I',10:'J',11:'K',12:'L',13:'M',14:'N',15:'O',16:'P',17:'Q',18:'R',19:'S',20:'T',21:'U',22:'V',23:'W',24:'X',25:'Y',26:'Z'}
ls=['A']
start='A'
for j,value in zm.items():
start=start+str(value)+start ##字符串拼接
ls.append(start)
for i,j in enumerate(ls,1): ##索引由1开始
if n==i:
print(j)
Break
怎么理解下面的程序?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2022-07-09 10:31关注
下面是我的理解,供参考:
1、首先应该是获取一个n的输入,并把转换为int整数,用于后面获取列表某一项
2、然后初始化键值对zm和列表ls,字符串start
3、遍历键值对,把字符串start赋值为原来的值,再加上遍历到的每一项键值对的值,再加上原来start的值
再把新赋值的字符串start添加到列表ls
4、用一个for循环遍历列表,索引从1开始,如果访问到输入的第n项则打印列表这一项
我把键值对改为只保留原来前两项,然后在第一个for循环增加打印语句,观察每一次遍历字符串start和列表ls的变化,以方便理解代码的逻辑,(如果运行全部键值对,时间可能要很久,或者可能会有其他问题,测试两项正常运行)测试代码及其注释如下:
参考链接:
python 键值对的理解与运用_LaughingSister的博客-CSDN博客_python 键值对
https://jingyan.baidu.com/article/f79b7cb3bfec66d045023e16.html
Python内置函数之enumerate() 函数 - YifChan - 博客园n=int(input()) #https://blog.csdn.net/laughingsister/article/details/108340934 zm={2:'B',3:'C'} #这个zm是个键值对,数字是键,字母是值 #zm={2:'B',3:'C',4:'D',5:'E',6:'F',7:'G',8:'H',9:'I',10:'J',11:'K',12:'L',13:'M',14:'N',15:'O',16:'P',17:'Q',18:'R',19:'S',20:'T',21:'U',22:'V',23:'W',24:'X',25:'Y',26:'Z'} #ls初始化为只有一个字符串'A'的列表 ls=['A'] #start初始化为字符串'A' start='A' #for循环遍历键值对,j为遍历到的键,value为遍历到的值 for j,value in zm.items(): #把start用原来的值加上 遍历到的键值对里面的每一个值 ,再加上start原来的值 #如第一次遍历时,start= 'A'+ 'B'+ 'A' ('A'为start原来的值,'B'为遍历到的键值对第一个的值) start=start+str(value)+start ##字符串拼接 print("start=",start) #把start添加到列表 #https://jingyan.baidu.com/article/f79b7cb3bfec66d045023e16.html ls.append(start) print("ls=",ls) #用for循环遍历列表 #https://www.cnblogs.com/yifchan/p/python-1-40.html for i,j in enumerate(ls,1): ##索引由1开始 #打印列表ls输入的第几项的值 #如果输入是1,就会打印列表第一项:'A'。 if n==i: print(j) break
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度