Python基础练习之字典与文件

1.	使用字典建立凯撒密码本(含大写和小写),之后进行加密及解密操作。
# 1)输入原文字符串,加密后输出密文
dic_y = {
   }
dic_m = {
   }
for code in (65, 97):
    for i in range(0, 26):
        dic_y[chr(i + code)] = chr((i + 3) % 26 + code)
        dic_m[chr(i + code)] = chr((i - 3) % 26 + code)
s = input("输入原文字符串:")
print("".join([dic_y.get(c, c) for c in s]))
输入原文字符串:This is Python!
			   Wklv lv Sbwkrq!
# 2)输入密文,输出原文
s = input("输入密文字符串:")
print("".join([dic_m.get(c, c) for c in s]))
输入密文字符串:Wklv lv Sbwkrq!
			   This is Python!

2.	输入一组无序的整数,输出出现次数最多的整数及其出现次数。若出现次数最多的整数有多个,则按照整数升序分行输出。
【输入形式】先输入整数的个数,再在下一行输入这些整数,空格分割
【输出形式】输出出现次数最多的整数及出现次数,两者空格分割。
【输入样例】
  10
  0 -50 0 632 5813 -50 9 -50 0 632
【输出样例】
  -50 3
  0  3
from collections import Counter
#获取
n = eval(input("输入一个整数:"))
lst = list(map(int, input("输入%d个整数: " % n).split()[:n]))
#统计
c = Counter(lst)
res = sorted([(k, v) for k, v in c.most_common() if v == max(list(c.values()))])
#输出
for k, v in res:
    print("%-5d%-5d" % (k, v))
输入一个整数:10
输入10个整数: 0 -50 0 632 5813 -50 9 -50 0 632
-50  3    
0    3    


3.	把上题的整数改成字符,同样的要求,怎样改写代码
from collections import Count
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值