Python习题(第2课)
2018-06-18 02:05:50来源:未知 阅读 ()
一、天天向上的力量 C
一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。
获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用英文逗号分隔。
代码如下:
1 percent=eval(input()) 2 hard=sunning=1 3 for i in range(2,366): 4 hard*=(1+percent/1000) 5 sunning*=(1-percent/1000) 6 print('%.2f,%.2f,%d' %(hard,sunning,hard/sunning))
二、快乐的数字
编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。
例如: 19 就是一个快乐的数字,计算过程如下:
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1
当输入时快乐的数字时,输出True,否则输出False。
代码如下:
1 num=eval(input()) 2 list1=[] 3 while (num not in list1) and (num!=1): 4 list1.append(num) 5 a=num%10 6 b=num//10%10 7 c=num//100 8 num=a**2+b**2+c**2 9 if num==1: 10 print('True') 11 else: 12 print('False')
三、跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级。请问该青蛙跳上一个n级的台阶总共有多少种跳法。
输入台阶数,输出一共有多少种跳法。
注意:如果运算超时,请思考有什么办法降低时间复杂度。
代码如下:(递归,可能会超出时间上限)
1 def wawa(step): 2 if step==1: 3 way=1 4 elif step==2: 5 way=2 6 else: 7 way=wawa(step-1)+wawa(step-2) 8 return way 9 10 step=eval(input()) 11 print(wawa(step))
(循环,思路简单而且高速)
1 def wawa(step): 2 if step==1 or step==2: 3 return step 4 a=1 5 b=2 6 c=0 7 for i in range(3,step+1): 8 c=a+b 9 a=b 10 b=c 11 return c 12 13 step=eval(input()) 14 print(wawa(step))
四、百分制成绩转换五分制(循环)
编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于90且小于或等于100的输出为“A”,成绩大于或等于80且小于90的输出为“B”,成绩大于或等于70且小于80的输出为“C”,成绩大于或等于60且小于70的输出为“D”,成绩小于60的输出为“E”。输入数据不合法时输出“data error!”用户可反复输入成绩进行转换,输入负数时输出“end”并结束程序。
代码如下:
1 flag=1 2 while flag: 3 grade=input() 4 try: 5 grade=eval(grade) 6 if 100>=grade>=90: 7 print('A') 8 elif 90>grade>=80: 9 print('B') 10 elif 80>grade>=70: 11 print('C') 12 elif 70>grade>=60: 13 print('D') 14 elif 60>grade>=0: 15 print('E') 16 elif grade<0: 17 print('end') 18 flag=0 19 else: 20 print('data error!') 21 except: 22 print('data error!')
五、质数判断
质数(Prime Number)又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
本题要求实现一个函数,判断参数是否是质数,是的话返回True,否则返回False。
代码如下:
1 def isPrime(num): 2 import math 3 for i in range(2,int(math.sqrt(num))+1): 4 if num%i==0: 5 return 0 6 return 1 7 8 num=int(input()) 9 if isPrime(num): 10 print('yes') 11 else: 12 print('no')
六、月份缩写
编写一个程序,用户输入一个月份的数字,输出月份的缩写。
代码如下:
1 months={1: 'Jan.',2:'Feb.',3:'Mar.',4:'Apr.',5:'May.',6:'Jun.',7:'Jul.',8:'Aug.',9:'Sep.',10:'Oct.',11:'Nov.',12:'Dec.'} 2 str1=int(input()) 3 print(months[str1])
七、分段函数描述
输入x,按上述分段函数求解。如果输入超出范围的x则输出“ERROR” 。
代码如下:
1 x=eval(input()) 2 if -1<x<=0: 3 print('f(x)=-10') 4 elif 0<x<=1: 5 print('f(x)=5') 6 elif 1<x<=2: 7 print('f(x)=9.6') 8 else: 9 print('ERROR')
八、今年多少天?
闰年366天,其他年份365天。普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年);
世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);
用户输入一个正整数,代表年份,输出该年有多少天?
代码如下:
1 year=int(input()) 2 if year%100==0:#世纪年 3 if year%400==0: 4 print('366') 5 else: 6 print('365') 7 else: 8 if year%4==0: 9 print('366') 10 else: 11 print('365')
九、验证码较验
用户登录网站经常需要输入验证码,验证码包含大小写字母和数字,随机出现。用户输入验证码时不区分大小写,只要各字符出现顺序正确即可通过验证。
请写一个程序完成验证码的匹配验证,假设当前显示的验证码是'Qs2X'。
如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”。
代码如下:
1 str1='Qs2X' 2 str2=input() 3 if str1.lower()==str2.lower(): 4 print('验证码正确') 5 else: 6 print('验证码错误,请重新输入')
十、奇数数列求和
求1+3+5+……+(2n-1)前n项和。
代码如下:(这个真的是简单到不想发上来、、、、、)
1 i=int(input()) 2 s=0 3 for i in range(1,i*2,2): 4 s=s+i 5 print(s)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash