IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【python】pythonPTA编程题练习 -> 正文阅读

[Python知识库]【python】pythonPTA编程题练习

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
    
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-21 18:55:28  更:2022-05-21 18:57:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:47:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码