Python基础练习之字符串

1.	输入字符串,判断是否为回文串(正向读与反向读都相等的字符串,如madam)
s = input()
"Yes" if s[::-1] == s else "No"
madam


'Yes'



2.	从键盘输入字符串,分别统计大写,小写,数字,其他字符的个数。提示:str.isupper(), str.islower()判别大小写。str.isdigit()判断是否是数字
str_ = input()
d, x, s, o = 0, 0, 0, 0
for i in str_:
    if i.isupper():
        d += 1
    elif i.islower():
        x += 1
    elif i.isdigit():
        s += 1
    else:
        o += 1
print("大写:%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 in range(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="")
DEFACB
ABC.,!

4)自己编写其他的使用字符串的相关应用的程序
str.title("hello world!")
'Hello World!'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值