大家好,我是Python领域的博主。
如果你是编程爱好者可以小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。
如果文章有什么错误的地方,请不吝赐教。
觉得博主文章写的还错的话,请三连支持一下博主哦
我一直坚信一句话:我相信努力一定会有回报,这个回报可能很慢,但请相信,只要你坚持下去一定会更好的。
系列专栏:
一.字符串加密
描述
用户在一行中输入一个包括大小写字母和数字的字符串,编程将其中的大写字母用该字母后的第5个字母替代,小写字母用该字母后的第3个字符替代,其他字符原样输出,实现字符串加密。
输入格式
输入一个至少包含一个字母的字符串
输出格式
加密后的字符串
示例 1
输入:Life is short, you need Python!
输出:Qlih lv vkruw, brx qhhg Ubwkrq!
p = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
s = 'FGHIJKLMNOPQRSTUVWXYZABCDEdefghijklmnopqrstuvwxyzabc'
#大写字母用后面第5个替换,小写字母用后面第3个替换
plaincode = input() #输入明文
ciphertext = '' #密文
for i in plaincode:
n = p.find(i) #返回 i 在 字符串p中的位置序号,找不到时返回-1
if n == -1:
ciphertext = ciphertext + i
else:
ciphertext = ciphertext + s[n]
print(ciphertext)
二.回文判断
描述
一个字符串,如果字符串中各字符逆向排列与原字符串相同,则称为回文,例如“上海自来水来自海上”。用户输入一个字符串,判断该字符串是否为回文,如是回文输出“True”,否则输出“False”。
输入格式
输入一个字符串
输出格式
True 或 False
示例 1
输入:12321
输出:True
str1=input()
if str1==str1[::-1]:
print("True")
else:
print("False")
三.特殊回文
描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的,我们称这样的数为回文数。 输入一个正整数n, 编程求所有这样的五位和六位十进制回文数,满足各位数字之和等于n(1<=n<=54)。 按从小到大的顺序输出满足条件的整数。
如果输入的数不在指定的范围,输出“输入错误,请重新输入!”
如果没有各位之和与输入的数相等的五位和六位回文数,输出“无满足条件的数!”
输入格式
输入一个正整数
输出格式
示例1
输入:54
输出:999999
示例2
输入:2
输出:
10001
100001
def reverse_num(n):
"""接收一个整数为参数,返回这个整数的逆序整数。"""
return int(str(n)[::-1])
def accumulate(n):
"""接收一个整数为参数,计算并返回这个整数的各位数之和。"""
return sum([int(x) for x in str(n)]) # 将整数转为字符串,将其中每个数字映射为整型,对序列求和
# 5位和6位数10000 到 1000000 之间,遍历这个区间的数,可找到满足各位数之和为 n 的回文数
num = int(input()) # 输入一个正整数
flag = 0 # 定义一个变量用于做是否找到满足条件的数的标记,0表示未找到
if num > 54 or num < 1: # 判定输入是否符合题目要求
print('输入错误,请重新输入!')
else:
for i in range(10000, 1000000): # 遍历所有5位和6位数
if i == reverse_num(i) and accumulate(i) == num:
print(i)
flag = 1 # 至少找到一个符合题意的回文数
if flag == 0: # 若遍历结束,flag值仍为0表示无满足条件的数
print('无满足条件的数!')
小编畅谈:
小编发布的作品都是适合初学者学习,如果你是初学者,可以和小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。如果觉得小编写的还不错,关注,点赞,收藏。如果有什么错误之处,请多多指教。我会虚心接受。如果有什么地方不懂,可以私信小编,我会第一时间回复您。