str_ =input()
d, x, s, o =0,0,0,0for i in str_:if i.isupper():
d +=1elif i.islower():
x +=1elif i.isdigit():
s +=1else:
o +=1print("大寫:%d, 小寫:%d, 數字:%d, 其他:%d"%(d, x, s, o))
asfSFFS12345\.,
大寫:4, 小寫:3, 數字:5, 其他:3
3. 凱撒密碼:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
1)輸入原文字符串,加密後輸出密文 2)輸入密文,輸出原文
# 方法一:哈希表映射# 1)輸入原文字符串,加密後輸出密文
s1 ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
s2 ="DEFGHIJKLMNOPQRSTUVWXYZABC"
ks1 ={}
ks2 ={}for i inrange(26):
ks1[s1[i]]= s2[i]
ks2[s2[i]]= s1[i]
s =input().upper()for i in s:print(ks1[i], end="")
abcXYZ
DEFABC
# 2)輸入密文,輸出原文
s =input().upper()for i in s:print(ks2[i], end="")
DEFABC
ABCXYZ
# 方法二:循環取餘# 1)輸入原文字符串,加密後輸出密文
ks ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
s =input().upper()for i in s:print(ks[(ks.find(i)+3)%26], end="")
abcXYZ
DEFABC
# 2)輸入密文,輸出原文
s =input().upper()for i in s:print(ks[(ks.find(i)-3)%26], end="")
DEFABC
ABCXYZ
相關拓展
1)小寫字母的凱撒密碼程序
# 1)輸入原文字符串,加密後輸出密文
ks ="abcdefghijklmnopqrstuvwxyz"
s =input().lower()for i in s:print(ks[(ks.find(i)+3)%26], end="")
ABCxyz
defabc
# 2)輸入密文,輸出原文
s =input().lower()for i in s:print(ks[(ks.find(i)-3)%26], end="")
defabc
abcxyz
2)既有小寫又有大寫字母的凱撒密碼程序
# 1)輸入原文字符串,加密後輸出密文
ks ="ABCDEFGhijklmnopqrstuvwxyz"
s =input()for i in s:print(ks[(ks.find(i)+3)%26], end="")
xyzDEF
ABCGhi
# 2)輸入密文,輸出原文
s =input()for i in s:print(ks[(ks.find(i)-3)%26], end="")
ABCGhi
xyzDEF
3)除字母外還包含其他符號的凱撒密碼程序(其他符號不變)
# 1)輸入原文字符串,加密後輸出密文
ks ="ABCDEFGhijklmnopqrstuvw.!,"
s =input()for i in s:print(ks[(ks.find(i)+3)%26], end="")
ABC.,!
DEFACB
# 2)輸入密文,輸出原文
s =input()for i in s:print(ks[(ks.find(i)-3)%26], end="")