【PTA】python 6

您所在的位置:网站首页 python凯撒密码编写程序 【PTA】python 6

【PTA】python 6

2024-05-28 14:27| 来源: 网络整理| 查看: 265

文章目录 6-1 凯撒加密解密 (10 分)6-2 凯撒加密的破解 (10 分)6-3 编写函数求短语的缩写词 (5 分)6-4 修改句子 (10 分)6-5 汉诺塔问题 (15 分)

6-1 凯撒加密解密 (10 分)

本题要求实现一个函数,实现对凯撒加密的密文进行解密。即输入为一个密文和加密参数,输出为解密后的原文。

函数接口定义:

def Decrypt( cryptedText, numToMove);

cryptedText 为等待解密的文本, numToMove 是凯撒加密的参数,即移动位数。

裁判测试程序样例:

在这里给出函数被调用进行测试的例子。例如: text = input('请输入密文:') num = eval(input("请输入加密的移动位数:")) orgText = Decrypt(text, num) print(orgText) /* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

mjqqt btwqi 5

输出样例:

在这里给出相应的输出。例如:

hello world

答案

def Decrypt(cryptedText, numToMove): result="" for i in cryptedText: # 若是大写 if i.isupper(): result+=chr((ord(i)-ord('A')-numToMove)%26+ord('A')) # 若是小写 elif i.islower(): result+=chr((ord(i)-ord('a')-numToMove)%26+ord('a')) else: result+=i return result 6-2 凯撒加密的破解 (10 分)

本题要求实现一个函数,可破解一个凯撒密文

函数接口定义:

在这里描述函数接口。例如: def Crack(text):

text 是输入的加密字符串,输出为破解后的原字符串

裁判测试程序样例:

在这里给出函数被调用进行测试的例子。例如: # 可以使用下面的函数,获取英文单词列表 def ReadEnglishWords(): result = ['hello','world','you','me','like','i','python','this',\ 'is','are','the','great','so','thank','much','winter','summer'] return result # 可以使用下面的函数,进行凯撒解密 def Decrypt(text, numToMove): afterText = "" for p in text: if ord("a") A B -> C A -> C 共移动次数: 7

答案

# 从A经过B移动到C即要解决问题的整体思路,实用二叉树,可以实现汉诺塔问题 def hanoi(num, a, b, c): # 声明全局变量,才能做到累加 global step A=a B=b C=c if num > 0: step+=1 hanoi(num - 1, a, c, b) #从A经过C移动到B print(A,"->",C) hanoi(num - 1, b, a, c) #从B经过A移动到C


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3