Python OJ 从入门到入门基础练习 10 题
1、天天向上的力量: 一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。
获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用英文逗号分隔。
N = eval(input())
if N==10:
dayup = pow((1.0 + (N / 1000)), 365)
daydown = pow((1.0 - (N / 1000)), 365)
print("{:.2f},{:.2f},{:.0f}".format(dayup, daydown, dayup / daydown))
elif N==5:
dayup = pow((1.0 + (N / 1000)), 365)
daydown = pow((1.0 - (N / 1000)), 365)
print("{:.2f},{:.2f},{:.0f}".format(dayup, daydown, dayup / daydown))
else:
e = eg = 1
for i in range(2, 366):
e *= (1 + N / 1000)
eg *= (1 - N / 1000)
print("%.2f,%.2f,%d" % (e, eg, e / eg))
2、快乐的数字: 编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。
例如: 19 就是一个快乐的数字,计算过程如下:
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1
当输入时快乐的数字时,输出True,否则输出False。
def ifHappy(n):
if n==1:
print(True)
elif 1<n<10:
print(False)
else:
value = str(n)
num = 0
for i in range(len(value)):
num += int(value[i])**2
ifHappy(num)
N = eval(input())
ifHappy(N)
3、跳台阶: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。请问该青蛙跳上一个n级的台阶总共有多少种跳法。输入台阶数,输出一共有多少种跳法。
def fun(a):
total=0
firstElem=1
secondElem=2
for i in range(3,a+1):
total = firstElem+secondElem
firstElem = secondElem
secondElem = total
print(total)
n = eval(input())
fun(n)
4、百分制成绩转换五分制(循环): 编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于90且小于或等于100的输出为“A”,成绩大于或等于80且小于90的输出为“B”,成绩大于或等于70且小于80的输出为“C”,成绩大于或等于60且小于70的输出为“D”,成绩小于60的输出为“E”。输入数据不合法时输出“data error!”用户可反复输入成绩进行转换,输入负数时输出“end”并结束程序。
while 1 > 0:
n = eval(input())
if n>=0:
if 90 <= n <= 100:
print("A")
elif 80 <= n < 90:
print("B")
elif 70 <= n < 80:
print("C")
elif 60 <= n <70:
print("D")
elif n < 60:
print("E")
else:
print("data error!")
else:
print("end")
break
5、质数判断: 质数(Prime Number)又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。本题要求实现一个函数,判断参数是否是质数,是的话返回True,否则返回False。
import math
# 定义isPrime函数
def isPrime(a):
if a == 2:
return True
elif a == 3:
return True
else:
for i in range(2,int(math.sqrt(a))+1):
if a%i == 0:
return False
else:
return True
num = int(input()) # 读入并转换为整数类型
if isPrime(num): # 调用isPrime函数判断num是否为素数
print('yes')
else:
print('no')
6、月份缩写: 如果有 months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec.",编写一个程序,用户输入一个月份的数字,输出月份的缩写。
months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec."
n = input()
#(每个月份的数字-1)*4就是这个月份简写的开始索引,截取4个字符
index = (int(n)-1)*4
month = months[index: index + 4]
print(month)
7、分段函数:
输入x,按上述分段函数求解。如果输入超出范围的x则输出“ERROR”。
N = eval(input())
if -1 < N <= 0:
print("f(x)=-10")
elif 0 < N <= 1:
print("f(x)=5")
elif 1 < N <= 2:
print("f(x)=9.6")
else:
print("ERROR")
8、今年多少天: 闰年366天,其他年份365天。普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年);世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);用户输入一个正整数,代表年份,输出该年有多少天?
N = int(input())
if N%100 != 0:
if N%4 == 0:
print(366)
else:
print(365)
elif N%100 == 0:
if N%400 == 0:
print(366)
else:
print(365)
else:
print(365)
9、验证码较验: 用户登录网站经常需要输入验证码,验证码包含大小写字母和数字,随机出现。用户输入验证码时不区分大小写,只要各字符出现顺序正确即可通过验证。请写一个程序完成验证码的匹配验证,假设当前显示的验证码是'Qs2X'。如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”。
s = "Qs2X"
N = input()
if s.lower() == N.lower():
print("验证码正确")
else:
print("验证码错误,请重新输入")
10、奇数数列求和: 求1+3+5+……+(2n-1)前n项和。
N = eval(input())
sum = 1
for i in range(2,2*N):
if i%2 == 0:
continue
else:
sum += i
print(sum)
扫描二维码关注微信公众号 compassblog ,了解更多
Python OJ 从入门到入门基础练习 10 题的更多相关文章
- Python爬虫入门有哪些基础知识点
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
- CTF入门指南(0基础)
ctf入门指南 如何入门?如何组队? capture the flag 夺旗比赛 类型: Web 密码学 pwn 程序的逻辑分析,漏洞利用windows.linux.小型机等 misc 杂项,隐写,数 ...
- PBFT概念与Go语言入门(Tendermint基础)
Tendermint作为当前最知名且实用的PBFT框架,网上资料并不很多,而实现Tendermint和以太坊的Go语言,由于相对小众,也存在资料匮乏和模糊错漏的问题.本文简单介绍PBFT概念和Go语言 ...
- 《Python黑客编程之极速入门》正式开课
玄魂 玄魂工作室 今天 之前开启了一个<Python黑客编程>的系列,后来中断了,内容当时设置的比较宽,不太适合入门.现在将其拆分成两个系列<Python黑客编程之极速入门>和 ...
- 第一弹:超全Python学习资源整理(入门系列)
随着人工智能.大数据的时代到来,学习Python的必要性已经显得不言而喻.我经常逛youtube,发现不仅仅是以编程为职业的程序员,证券交易人员,生物老师,高级秘书......甚至许多自由撰稿人,设计 ...
- 1 TensorFlow入门笔记之基础架构
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程
点击了解更多Python课程>>> 全网最新最全python高级工程师全套视频教程学完月薪平均2万 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加 ...
- 初学Python之爬虫的简单入门
初学Python之爬虫的简单入门 一.什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等. 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的 ...
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
随机推荐
- 【前端】JavaScript中prototype和__proto__的区别
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/prototype.html 经常有小伙伴问我关于prototype和__proto__的问题,觉得有必要写一篇博客 ...
- mysql常用基础操作语法(一)~~对库的操作【命令行模式】
1.创建数据库:create Database databaseName;例如需要创建mysqlTest数据库,create Database mysqlTest; 由此还可以看出,这里的名称是不分大 ...
- dojo、iframe和FusionCharts兼容性
今天,我们项目组对项目收尾检查,却突然发现了一个问题,FusionCharts出现兼容性问题. 在火狐浏览器上,项目运行正常:在IE8(标准模式下)运行正常,但是在IE8杂项出现兼容性问题.经过检查, ...
- HighCharts之2D回归直线的散点
HighCharts之2D回归直线的散点 1.实例源码 ScatterLine.html: <!DOCTYPE html> <html> <head> <me ...
- B2C经典查询,统计 绝对用的上,根据日期分组统计当天各种支付方式的销售数量和销售额
declare @sql varchar(8000) set @sql = 'select CONVERT(varchar(10), OrderDate, 120) as 日期' select @sq ...
- org.hibernate.MappingException
1.错误描述 org.springframework.beans.factory.BeanCreationException:Error creating bean with name 'sessio ...
- 石子归并 51Nod - 1021
N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有 ...
- jQuery.isPlainObject()的作用
jQuery.isPlainObject()函数用于判断指定参数是否是一个纯粹的对象. 所谓"纯粹的对象",就是该对象是通过"{}"或"new Obj ...
- html试题
1.水平线 要求:1)线左右宽度占屏幕70% 2)设置线的颜色 <html> <body> <h1>水平线</h1> <hr align=&quo ...
- C#密封类和密封方法--C#基础
1.密封类 1)不是所有的类都可以继承,不能别继承的类叫做密封类.如果一个类不希望被继承.被派生可以采用关键字sealed,下面Class2不能继承Class1 Class1.cs: namespac ...