【python】pythonPTA编程题练习
文章目录7-2 计算某天距元旦的天数6-1 python函数:求m到n之和6-2 python函数:递归求Fabonacci数列7-1 企业根据利润提成发放奖金问题7-3 温度转换7-4 3,5,7的倍数判定(高教社,《Python编程基础及应用》习题6-4)7-5 计算分段函数f(x)的值7-6 统计字符串中不同种类的字符个数7-3 重复多个星号6-2Python编程技术实验-4(函数和类)6-
文章目录
- 7-2 计算某天距元旦的天数
- 6-1 python函数:求m到n之和
- 6-2 python函数:递归求Fabonacci数列
- 7-1 企业根据利润提成发放奖金问题
- 7-3 温度转换
- 7-4 3,5,7的倍数判定(高教社,《Python编程基础及应用》习题6-4)
- 7-5 计算分段函数f(x)的值
- 7-6 统计字符串中不同种类的字符个数
- 7-3 重复多个星号
- 6-2Python编程技术实验-4(函数和类)
- 6-3 编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)
- 6-4 编写生成斐波那契数列的函数并调用。(升级版v2.0)
- 6-5 判断素数的函数
- 6-6 定义并实现身体质量指数类(高教社,《Python编程基础及应用》习题9-3)
- 6-7 编写Pet类
- 6-8 编写一个Fan类
7-2 计算某天距元旦的天数
分数 10
作者 王祥荣
单位 宁波财经学院
输入年、月、日,要求输出该年份的元旦到该日期总共经过了多少天。(提示:闰年是指能被400 整除的年份或者能被4 整除但不能100 整除的年份)
输入格式:
输入n,代表接下来要输入n行的年、月、日。
然后输入n行年、月、日,年、月、日之间的元素以空格相分隔,第1个数据为年,第2个数据为月,第3个数据为日。
输出格式:
如果输入年月日正确,则输出:Totaldays=天数
如果输入年月日有错,则输出:ErrorInput
输入样例:
4
2000 13 10
2000 3 10
2012 3 10
2018 5 20
输出样例:
在这里给出相应的输出。例如:
ErrorInput
Totaldays = 70
Totaldays = 70
Totaldays = 140
from datetime import datetime
n = int(input())
for i in range(n):
s = input()
try:
y, m, d = s.split(' ', 2)
y = int(y)
m = int(m)
d = int(d)
d2 = datetime(y, m, d)
except:
print('ErrorInput')
continue #不能忘
d1 = datetime(y, 1, 1)
print('Totaldays =',(d2 - d1).days + 1)
6-1 python函数:求m到n之和
分数 10
作者 gllypx
单位 桂林学院
本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数。
函数接口定义:
函数接口:
sum(m,n)
m<n,m和n可以是负数
裁判测试程序样例:
/* 请在这里填写答案 */
在这里给出函数被调用进行测试的例子。例如:
m=int(input())
n=int(input())
print(sum(m,n))
输入样例:
在这里给出一组输入。例如:
-1
5
输出样例:
在这里给出相应的输出。例如:
14
def sum(m,n):
result=0
if m<n:
for i in range(m,n+1):
result+=i
else:
return '输入有误!'
return result
m = int(input())
n = int(input())
print(sum(m,n))
6-2 python函数:递归求Fabonacci数列
分数 10
作者 gllypx
单位 桂林学院
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:
f(n)=f(n−2)+f(n−1) (n≥3),其中f(1)=1,f(2)=1。
函数接口定义:
函数接口:
f(n)
函数f应返回第n个Fabonacci数。题目保证输入输出在整型范围内。建议用递归实现。
裁判测试程序样例:
/* 请在这里填写答案 */
在这里给出函数被调用进行测试的例子。例如:
n=int(input())
print(f(n))
输入样例:
在这里给出一组输入。例如:
6
输出样例:
在这里给出相应的输出。例如:
8
def f(n):
if n==1 or n==2:
return 1
else:
return f(n-2)+f(n-1)
n= int(input())
print(f(n))
7-1 企业根据利润提成发放奖金问题
分数 14
作者 胡锦美
单位 闽江学院
企业根据利润提成发放奖金问题。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%; 20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%; 高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润,求应发放奖金总数?
输入格式:
输入一个利润整数。例如:输入120000。
输出格式:
输出一个实数。例如:11500.0。
输入样例:
在这里给出一组输入。例如:
120000
输出样例:
在这里给出相应的输出。例如:
11500.0
a = float(input())
if a<=100000:
b = a*0.1
elif 100000<a<=200000:
b = 100000*0.1+(a-100000)*0.075
elif 200000<a<=400000:
b = 100000*0.1+(a-200000)*0.05+200000*0.075
elif 400000<a<=600000:
b = 100000*0.1+(a-400000)*0.03+100000*0.75+200000*0.05
elif 600000<a<=1000000:
b = 100000*(0.1+0.075+0.1+0.06)+(a-600000)*0.015
elif a>1000000:
b = 100000*(0.1+0.075+0.1+0.06+0.03)+(a-1000000)*0.01
print(b)
7-3 温度转换
分数 10
作者 马杨珲
单位 浙江科技学院
温度刻画存在不同体系,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。华氏度以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画。
根据华氏和摄氏温度定义,转换公式如下:
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
输入格式:
输入一个实数表示温度,后面的字母表示温度体系:F或f表示华氏温度,而C或c表示摄氏温度,实数与字母间无分隔符。
输出格式:
输出转换后的温度(保留两位小数,且后面有温度体系说明符,大写字母表示);若输入的数据格式有误(未有效标示温度体系),输出Error
输入样例:
在这里给出一组输入。例如:
36.8C
输出样例:
在这里给出相应的输出。例如:
98.24F
输入样例:
在这里给出一组输入。例如:
10f
输出样例:
在这里给出相应的输出。例如:
-12.22C
输入样例:
在这里给出一组输入。例如:
78.2#
输出样例:
在这里给出相应的输出。例如:
Error
T = input()
if T[-1] in ['f','F']:
F = (float)(T[0:-1])
C=(F-32)/1.8
print("{:.2f}C".format(C))
elif T[-1] in ['c','C']:
C =(float)(T[0:-1])
F = C*1.8+32
print("{:.2f}F".format(F))
else:
print('Error')
7-4 3,5,7的倍数判定(高教社,《Python编程基础及应用》习题6-4)
分数 6
作者 海洋饼干叔叔
单位 重庆大学
编程序实现功能:输入一个整数,判断其是否能同时被3、5、7整除。能被整除则输出“Yes”,否则, 输出“No”。
输入格式:
一个整数
输出格式:
Yes 或 No
输入样例:
7
输出样例:
No
n=int(input())
if n%105==0:
print('Yes')
else:
print('No')
7-5 计算分段函数f(x)的值
分数 10
作者 季江民
单位 浙江大学
计算下列分段函数f(x)的值:
1103.jpg
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x)=result”的格式输出,其中result都保留三位小数(提示:使用.format()函数)。
输入样例1:
12.34
输出样例1:
f(12.34)=0.081
输入样例2:
0
输出样例2:
f(0.0)=0.000
#eval(str)把字符串str当成有效的表达式来求值,并返回计算结果
x = eval(input())
if x==0:
print("f({:.1f})={:.3f}".format(x,x))
else:
y=1/x
print("f({:.2f})={:.3f}".format(x,y))
7-6 统计字符串中不同种类的字符个数
分数 10
作者 李体新
单位 保定学院
本题目要求读入一个字符串,统计字符串中字母、数字、空格、其它字符的个数。
输入格式:
输入一行由任意字符组成的字符串。
输出格式:
统计字符串中字母、数字、空格、其它字符的个数。
输入样例:
在这里给出一组输入。例如:
2a and Am3,MNak888!..
输出样例:
在这里给出相应的输出。例如:
letters=10,digits=5,spaces=2,others=4
n = input()
letters=digits=spaces=others=0
for i in n:
if i.isalpha():
letters+=1
elif i.isspace():
spaces+=1
elif i.isdigit():
digits+=1
else:
others+=1
print("letters={},digits={},spaces={},others={}".format(letters,digits,spaces,others))
7-3 重复多个星号
分数 10
作者 马杨珲
单位 浙江科技学院
根据给定的整数n,在一行上打印n个*号。
输入格式:
输入一个整数n。
输出格式:
输出n个*号。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
***
n = eval(input())
for i in range(n):
print('*',end="")
6-2Python编程技术实验-4(函数和类)
6 天
6-2 整数数位和(高教社,《Python编程基础及应用》习题8-3)
分数 10
作者 海洋饼干叔叔
单位 重庆大学
编写一个函数,该函数接受一个正整数作为参数,返回该整数的各位数字之和。
函数接口定义:
def digitSum(v)
v为输入整数(正整数);
函数返回一个整数,其值为v的各位数字之和。
裁判测试程序样例:
a = int(input())
print(digitSum(a))
输入样例:
291
输出样例:
12
def digitSum(v):
list1 = list(str(v))
sum=0
for i in range(len(list1)):
sum+=int(list1[i])
return sum
6-3 编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)
分数 10
作者 海洋饼干叔叔
单位 重庆大学
编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)
函数接口定义:
def caculate(t)
打号的参数t接受多个参数成员,参数成员预期为整数或浮点数类型。
裁判测试程序样例:
s = input().split() #接受输入字符串并按空格分拆,存入列表,列表成员为字符串类型
t = [float(x) for x in s] #使用列表推导将列表s中的成员全部转换成浮点数,存入另一个列表t
print(“%.4f” % caculate(*t))
输入样例:
3 2 1
输出样例:
6.0000
def caculate(*t):
j=1
for i in range(len(t)):
j *= t[i]
return j
6-4 编写生成斐波那契数列的函数并调用。(升级版v2.0)
分数 15
作者 郭堂瑞
单位 湖北文理学院
本题要求实现一个函数,可实现计算最后一项小于指定值的斐波那契数列。
函数接口定义:
在这里描述函数接口。例如:
def fib(n):
n是用户传入的参数。 函数须输出最后一项小于指定值的斐波那契数列。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
‘’’
你写的函数在这里
‘’’
fib(input())
输入样例1:
在这里给出一组输入。例如:
1000
输出样例1:
在这里给出相应的输出。例如:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
输入样例2:
在这里给出一组输入。例如:
1
输出样例2:
在这里给出相应的输出。例如:
1 1
输入样例3:
在这里给出一组输入。例如:
-50
输出样例3:
在这里给出相应的输出。例如:
输入数据错误!
def fib(n):
a=int(n)
f1=1
f2=1
c=1
if a<0:
print("输入数据错误!",end="")
elif a==1:
print("1 1",end="")
while c<a and f1<a:
print("{}".format(f1),end=" ")
f2=f1+f2
f1=f2-f1
c+=1
6-5 判断素数的函数
分数 10
作者 吴敏华
单位 首都师范大学
输入若干整数(输入0结束),每个整数输入完毕后,马上输出该整数是否为素数。
本题要求写一个函数def prime(m),判断整数m是否为素数,是素数返回True,否则返回False。
函数接口定义:
def prime(m)
裁判测试程序样例:
#请在这里填写答案
while True:
n=int(input())
if n==0:
break
if n<2:
print("Invalid")
else:
if prime(n):
print("Yes")
else:
print("No")
输入样例:
Yes
Invalid
No
Invalid
Yes
def prime(m):
i=2
while i< m:
if m%i ==0:
return False
i+=1
else:
return True
6-6 定义并实现身体质量指数类(高教社,《Python编程基础及应用》习题9-3)
分数 15
作者 海洋饼干叔叔
单位 重庆大学
按图施工,设计下述BMI类,用于计算身体质量指数。该指数等于体重(kg)除以身高(米)的平方。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J3mSd9cJ-1652781607218)(vx_images/16234817238984.png)]
相应的判定标准如下图所示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RRaYuYGo-1652781607221)(vx_images/274214817226851.png)]
BMI类接口定义:
class BMI:
...
其中,name为姓名,age为年龄,height为身高,单位为米,weight为体重,单位为kg。
getBMI()函数返应计算所得的身体质量指数;
getStatus()返回评价结果,其值应为超轻/标准/超重/肥胖之一。
裁判测试程序样例:
sName = input() #输入姓名
iAge = int(input()) #输入年龄
fHeight = eval(input()) #输入身高,预期为浮点数,单位米
fWeight = eval(input()) #输入体重,预期为浮点数,单位千克
bmi=BMI(sName,iAge,fHeight,fWeight) #实例化BMI类
print("Name:",bmi.name)
print("Age:",bmi.age)
print("BMI = %.3f" % bmi.getBMI())
print("Result =",bmi.getStatus())
输入样例:
Alex
27
1.75
68
输出样例:
Name: Alex
Age: 27
BMI = 22.204
Result = 标准
class BMI:
def __init__(self,sName,iAge,fHeight,fWeight):
self.name=sName
self.age=iAge
self.height=fHeight
self.weight=fWeight
def getStatus(self):
b=fWeight/(fHeight*fHeight)
if b<18:
return '超轻'
elif 25>b>=18:
return '标准'
elif 25<=b<27:
return '超重'
else:
return '肥胖'
def getBMI(self):
b=fWeight/(fHeight*fHeight)
return b
6-7 编写Pet类
分数 10
作者 殷伟凤
单位 浙江传媒学院
编写一个名为Pet的类,它应具有以下属性:
__name:表示宠物的名字
__age:表示宠物的年龄
Pet类应该有一个__init__方法来创建这些属性。
它还应有以下方法:
setName方法:为__name属性赋值
setAge方法:为__age属性赋值
getName方法:返回__name属性的值
getAge方法:返回__age属性的值
Pet类还要有__str__方法,返回相关描述。
完成Pet类定义后,根据以下裁判测试程序进行测试。
Pet类定义:
class Pet:
......
裁判测试程序样例:
#请在这里填写Pet类的定义
def main():
# 获取数据
pet_name = input()
pet_age = int(input())
# 创建一个Pet实例.
mypet = Pet(pet_name, pet_age)
# 显示输入的数据
print('Here is the data that you entered: ')
print('Pet name: ', mypet.getName())
print('Age of pet: ', mypet.getAge())
# 输出描述
print(mypet)
main()
输入样例:
在这里给出一组输入。例如:
Peter
2
输出样例:
在这里给出相应的输出。例如:
Here is the data that you entered:
Pet name: Peter
Age of pet: 2
Peter is 2 age!
class Pet:
def __init__(self, pet_name, pet_age):
self.name = pet_name
self.age = pet_age
def getName(self):
return self.name
def getAge(self):
return self.age
def setName(self, name):
self.name = name
def setAge(self, age):
self.age = age
def __str__(self):
return str(self.name)+' is '+str(self.age)+' age!' #或者可以偷懒直接返回'Peter is 2 age!'
6-8 编写一个Fan类
分数 15
作者 殷伟凤
单位 浙江传媒学院
设计一个名为Fan的类表示一个风扇。这个类包括:
1.三个名为SlOW、MEDIUM和FAST,其值为1、2和3常量表示风扇的速度。
2.一个名为speed的int类型私有数据域表示风扇的速度(默认值为SLOW)。
3.一个名为on的boolean类型私有数据域表示风扇是否打开(默认值为false)。
4.一个名为radius的double类型私有数据域表示风扇的半径(默认值为5)。
5.一个名为color的string类型数据域表示风扇的颜色(默认值为white)。
6.这四个数据域的访问器和修改器。
7.一个构造方法创建一个具有特地速度、半径、颜色以及是否打开的风扇。
请在自己的草稿本上画出UML图,养成良好的设计习惯。
要求:创建两个Fan对象:
第一个对象,构造默认值的风扇对象Fan1;
第二个对象,赋值最大速度、半径为10、颜色为blue,打开它的对象Fan2。
显示每个对象的speed、radius、color和on属性
###Fan类定义:
‘class Fan:
…’
裁判测试程序样例:
SLOW = 1
MEDIUM = 2
FAST = 3
#请在这里填写答案
def main():
fan1 = Fan()
print(fan1)
print()
fan2 = Fan()
fan2.setSpeed(FAST)
fan2.setRadius(10)
fan2.setColor("blue")
fan2.setOn(True)
print(fan2)
main()
输入样例:
无输入
输出样例:
speed 1
color white
radius 5
fan is off
speed 3
color blue
radius 10
fan is on
class Fan:
# speed=SLOW
def setSpeed(self,x):
self.speed=x
def getSpeed(self):
return self.speed
#on = False
def setOn(self,x):
if x==True:
self.on='on'
def getOn(self):
return self.on
#radius =float(5)
def setRadius(self,x):
self.radius=x
def getRadius(self):
return self.radius
#color = 'while'
def setColor(self,x):
self.color=x
def getcolor(self):
return self.color
def __init__(self):
self.speed=SLOW
self.on='off'
self.radius =5
self.color = 'white'
# print('构造方法被执行了。')
def __str__(self):
return 'speed '+str(self.speed)+'\n'+ 'color '+str(self.color)+ '\n'+'radius '+str(self.radius)+'\n'+'fan is '+self.on
更多推荐
所有评论(0)