python第二周作业
-
恺撒密码 B
描述
恺撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文: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
对于原文字符P,其密文字符C满足如下条件:C = (P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P = (C-3) mod 26
假设用户可能使用的输入仅包含西文字母,即英文大小写字母a~zA~Z和特殊字符,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中特殊字符不进行加密处理。
输入
示例1: python is GOOD!
输出
示例1: sbwkrq lv JRRG!
plaincode = input("") for p in plaincode: if ord("a") <= ord(p) <= ord("z"): print(chr(ord("a")+(ord(p)-ord("a")+3)%26), end='') elif ord("A") <= ord(p) <= ord("Z"): print(chr(ord("A")+(ord(p)-ord("A")+3)%26), end='') else: print(p, end='')
-
括号配对检测 A
描述
用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确,配对成功与否分别输出:
配对成功,配对不成功
其中,小括号配对要考虑配对顺序,即()表示配对,)(不是配对,只考虑小括号配对。
注意,这是一个OJ题目,获得输入使用input("")。
输入
示例1:(这是一个例子)
示例2:这是一个(例子
输出
示例1:配对成功
示例2:配对不成功
str=input("") left=0 for i in str: if i == "(": left += 1 elif i == ")": if left > 0: left -= 1 else: print("配对不成功") break else: if left != 0: print("配对不成功") else: print("配对成功")
-
天天向上的力量 B
描述
一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。
获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用“逗号+空格”格式。
此题目是OJ题,使用input("")获得N。
输入
示例1:
1
输出
示例1:
1.44, 0.69, 2
举例
用户输入N的个数为3,则程序自动产生3个N值,每个N值具体是多少由程序确定(例如,N的个数为3,可计算N=1, N=2,N=3),然后分别输出每个N对应的"天天向上的力量"。
x=1.0 N=eval(input()) n=N/1000 dayup=pow(x+n,365) daydown=pow(x-n,365) a=dayup//daydown print("{:.2f}, {:.2f}, {:}".format(dayup,daydown,round(a)))
-
同符号数学运算
描述
读入一个整数N,分别计算如下内容:
1. N的绝对值;
2. N与10进行同符号加法、减法和乘法运算,同符号运算指使用N的绝对值与另一个数进行运算,运算结果的绝对值被赋予N相同的符号,其中,0的符号是正号。
将上述4项结果在一行输出,采用空格分隔,输出结果均为整数。
输入
示例1:100
输出
示例1:100 110 90 1000
N=int(input()) if N>=0: print(N, N+10, abs(N-10), N*10) else: print(-N, -(abs(N)+10), -abs((abs(N)-10)), N*10)
- 快乐的数字
描述
编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。
例如: 19 就是一个快乐的数字,计算过程如下:
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1
当输入时快乐的数字时,输出True,否则输出False。
输入
示例1:19
输出
示例1:True
n = input() cound=0 sumofSqrs = eval(n) while sumofSqrs != 1: numStr=str(sumofSqrs) sum=0 for i in numStr: sum += int(i)**2 sumofSqrs = sum cound=cound+1 if cound>=2000: print("False") break else: if sumofSqrs == 1: print("True") else: print("False")
- 字符串反码 A
描述
字符串反码的定义为:字符串所包含字符的反码组成的字符串。
字符反码的定义为:
(1) 对于小写英文字符,它的反码也是一个小写英文字符,且该字符与'a'的距离等于其反码与'z'的距离;
(2) 对于大写英文字符,它的反码也是一个大写英文字符,且该字符与'A'的距离等于其反码与'Z'的距离;
两个字符距离指其对应unicode编码之差。
输入
示例1:2018-Python123-Well-Done
输出
示例1:2018-Kbgslm123-Dvoo-Wlmv
str1 = input("") for p in str1: if ord("a") <= ord(p) <= ord("z"): print(chr(ord("a")-ord(p)+ord("z")),end='') elif ord("A") <= ord(p) <= ord("Z"): print(chr(ord("A")-ord(p)+ord("Z")),end='') else: print(p, end='')
- 计算矩形面积
描述
用户输入矩形的长和宽,计算其面积并输出,结果四舍五入,保留2位小数。
输入格式
第一行输入一个数字,代表矩形的长
第二行输入一个数字,代表矩形的宽
输出格式
输出矩形的面积
输入输出示例
输入 输出 示例 1 5.899
4.56726.94 a=eval(input()) b=eval(input()) s=a*b print("{:.2f}".format(s))
- 00370038003300381586927076478
格式化输出
描述
用户输入一个小数,用format格式化输出,保留3位小数。
输入格式
输入一个数
输出格式
保留小数点后3位的数
输入输出示例
输入 输出 示例 1 3.14159 3.142 n=eval(input()) print("{:.3f}".format(n))
- 3003000370038003300381586927103455
字符串逆序输出
描述
用户输入一个字符串,倒序输出。
输入格式
输入一个字符串
输出格式
一个倒序的字符串
输入输出示例
输入 输出 示例 1 hell n=str(input()) m=n[::-1] print(m)
- 003000370038003300381586927121830
照猫画虎求阶乘
描述
阶乘是基斯顿·卡曼(Christian Kramp)于 1808 年发明的运算符号,是数学术语。
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。
任何大于等于1 的自然数n 阶乘表示方法:
参考示例代码,编程求任意大于0的整数的阶乘。
n = int(input()) #把用户输入赋值给变量n,int()的作用是将输入的字符串转成整数 sum = 0 #sum 赋初值为0 for i in range(1,n+1): #括号里取值范围是从1到n,不包括n+1 sum = sum + i #每次循环时把i值加到sum上 print(sum)
输入格式
输入一个正整数(只考虑大于0的情况,不需要考虑输入为0的情况)
输出格式
阶乘值,一个正整数
输入输出示例
输入 输出 示例 1 5 120
n = int(input()) sum = 1 for i in range(1,n+1): sum =sum * i print(sum) - 33003000370038003300381586927161642
Python turtle学习笔记
描述
写一个你自己的turtle 库的学习笔记。(本题目为加分题)
可以参考画图链接有:
使用Python+turtle绘制动画重现龟兔赛跑现场
https://blog.csdn.net/oh5W6HinUg43JvRhhB/article/details/82920855
https://blog.csdn.net/qq_14961401/article/details/58595783
Python+turtle交互式绘图:可以用鼠标拖动的小海龟
https://blog.csdn.net/oh5W6HinUg43JvRhhB/article/details/82920858
用Python的turtle画一只小猪乔治【刚学python两天,纪念一下】
https://blog.csdn.net/qq_14823403/article/details/81390575
要求
1.格式要求:要求有标题,有分章节头(1分);
2.如果有代码的,博客园要按照代码格式粘贴(1分);
3. 根据自己学习程度,画一个你认为有任意好玩图形,并附上代码和图(7分);
4.提交博客园的你的博客链接到这里;(1分).
5.基本格式要按照这个:https://www.cnblogs.com/findsoon/articles/9359021.html
快乐的数字
描述
编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。
例如: 19 就是一个快乐的数字,计算过程如下:
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1
当输入时快乐的数字时,输出True,否则输出False。
输入
示例1:19
输出
示例1:True