PTA - python暑假题集1

7-1 Hello World!

本题要求编写程序,输出一个短句“Hello World!”。

输入格式:
本题目没有输入。
输出格式:
在一行中输出短句“Hello World!”。

print('Hello World!')

7-2 计算摄氏温度

给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。

输入格式:
输入在一行中给出一个华氏温度。
输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。

输入样例:
150
输出样例:
Celsius = 65

F=int(input())
C=5*(F-32)/9
print("Celsius = %d" % C)

7-3 计算物体自由下落的距离

一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒 ^2。

输入格式:
本题目没有输入
输出格式:
按照下列格式输出
height = 垂直距离值(结果保留2位小数)

ans=0.5*10*3*3
print("height = %.2f" % ans)

# h=1/2*g*t^2

7-4 整数四则运算

本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。

输入格式:
输入在一行中给出2个正整数A和B。
输出格式:
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

输入样例:
3 2
输出样例:
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1

inputs=input().strip().split()
# .strip() 方法用于移除字符串两侧的空白字符(包括空格、制表符 \t、换行符 \n 等),
# 这样做的目的是确保输入的字符串在进行 .split() 分割时不会因为额外的空白字符
# 而影响数据的正确性
a=int(inputs[0])
b=int(inputs[1])

# print("%d + %d = %d" % (a, b, a + b))
# print("%d - %d = %d" % (a, b, a - b))
# print("%d * %d = %d" % (a, b, a * b))
# print("%d / %d = %d" % (a, b, a / b))

print(f"{a} + {b} = {a+b}")
print(f"{a} - {b} = {a-b}")
print(f"{a} * {b} = {a*b}")
print(f"{a} / {b} = {a//b}") # 整除

7-5 求整数均值

本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。

输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。

输入样例:
1 2 3 4
输出样例:
Sum = 10; Average = 2.5

inputs=input().strip().split()
# a=int(inputs[0])
# b=int(inputs[1])
# c=int(inputs[2])
# d=int(inputs[3])
# Sum=a+b+c+d
Sum=0
Cnt=0
for i in inputs:
    Sum+=int(i)
    Cnt+=1; # python没有++操作
Avg=Sum/Cnt
print(f"Sum = {Sum}; Average = {Avg}")

7-6 输出带框文字

本题要求编写程序,输出指定的带框文字。

输入格式:
本题无输入
输出格式:
按照下列格式输出带框文字。
************
Welcome
************

print('************')
print('  Welcome')
print('************')

7-7 整数152的各位数字

本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。

输入格式:
本题无输入。
输出格式:
按照以下格式输出:
152 = 个位数字 + 十位数字10 + 百位数字100

number=152
g=number%10
s=number//10%10
b=number//100
print(f'{number} = {g} + {s}*10 + {b}*100')

# python除法/ 为浮点运算;// 为整除运算

7-8 计算火车运行时间

本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

输入格式:
输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
输出格式:
在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

输入样例:
1201 1530
输出样例:
03:29

inputs=input().strip().split()
# print(inputs)
begin=int(inputs[0])
end=int(inputs[1])

# 把开始时间和结束时间都换算成分钟
minute1=begin//100*60+begin%100
minute2=end//100*60+end%100
minute=minute2 - minute1
# print(minute)
hh=minute//60
mm=minute%60
print('%02d:%02d' % (hh,mm))

7-9 计算存款利息

本题目要求计算存款利息,计算公式为interest=money×(1+rate)
year
−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。

输入格式:
输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。
输出格式:
在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。

输入样例:
1000 3 0.025
输出样例:
interest = 76.89

inputs = input().strip().split()
money = float(inputs[0]) # 注意数据的类型
year = float(inputs[1]) 
rate = float(inputs[2]) 

# 计算利息
interest = money * (1 + rate)**year - money
# 输出格式化的结果,保留两位小数
print(f"interest = {interest:.2f}")

7-10 逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。

输入样例:
123
输出样例:
321

inputs = input().strip()
# print(type(inputs))
reverse_num = inputs[::-1] # str类型
print(int(reverse_num))

7-11 重要的话说三遍

这道超级简单的题目没有任何输入。

你只需要把这句很重要的话 —— “I’m gonna WIN!”——连续输出三遍就可以了。

注意每遍占一行,除了每行的回车不能有任何多余字符。

print("I'm gonna WIN!\n"*3,end='')
# end默认为\n

# print("I'm gonna WIN!")
# print("I'm gonna WIN!")
# print("I'm gonna WIN!")

7-12 后天

如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。

输入格式:
输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。
输出格式:
在一行中输出D天的后天是星期几。

输入样例:
3
输出样例:
5

# py三目运算符
# true if 条件 else false
today=int(input())
# print(today)
today+=2
after=(7 if today%7==0 else today%7)
print("%d" % after)

7-13 I Love GPLT

这道超级简单的题目没有任何输入。

你只需要把这句很重要的话 —— I Love GPLT ——竖着输出就可以了。

所谓“竖着输出”,是指每个字符占一行(包括空格),即每行只能有1个字符和回车。

s='I Love GPLT'
# print(s)
for i in s:
    print(i)

7-14 是不是太胖了

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)

输入格式:
输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。
输出格式:
在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。

输入样例:
169
输出样例:
124.2

height=int(input())
weight=(height-100)*0.9
ans = weight * 2
print(f"{ans:.1f}")

7-15 计算指数

真的没骗你,这道才是简单题 —— 对任意给定的不超过10的正整数n,要求你输出2^n 。不难吧?

输入格式:
输入在一行中给出一个不超过10的正整数n。
输出格式:
在一行中按照格式 2^n = 计算结果 2^n 输出 的值。

输入样例:
5
输出样例:
2^5 = 32

n=int(input())
ans = 2**n
print(f"2^{n} = {ans}")

7-16 A乘以B

看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。

输入格式:
输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出A乘以B的值。

输入样例:
-8 13
输出样例:
-104

inputs=input().strip().split()
#print(inputs)
a=int(inputs[0])
b=int(inputs[1])
ans = a*b
print(ans)

7-17 日期格式化

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

输入格式:
输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照“yyyy-mm-dd”的格式给出年、月、日。

输入样例:
03-15-2017
输出样例:
2017-03-15

inputs=input().strip().split('-')
#print(inputs)
mm=inputs[0]
dd=inputs[1]
yy=inputs[2]
print(f'{yy}-{mm}-{dd}')

7-18 打折

去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。

输入格式:
输入在一行中给出商品的原价(不超过1万元的正整数)和折扣(为[1, 9]区间内的整数),其间以空格分隔。
输出格式:
在一行中输出商品的折扣价,保留小数点后 2 位。

输入样例:
988 7
输出样例:
691.60

inputs=input().strip().split()
money=int(inputs[0])
count=int(inputs[1])
ans = money*(count/10)
print(f'{ans:.2f}')

7-19 计算分段函数[1]

本题目要求计算下列分段函数f(x)的值:
f(x)
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。

输入样例1:
10
输出样例1:
f(10.0) = 0.1
输入样例2:
0
输出样例2:
f(0.0) = 0.0

n=float(input())
ans=float(1/n if n!=0 else 0)
print(f'f({n:.1f}) = {ans:.1f}')

7-20 计算分段函数[2]

本题目要求计算下列分段函数f(x)的值:
f(x)
注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。

输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。

输入样例1:
10
输出样例1:
f(10.00) = 3.16
输入样例2:
-0.5
输出样例2:
f(-0.50) = -2.75

n=float(input())
if n>=0:
    ans=n**(0.5)
    print(f'f({n:.2f}) = {ans:.2f}')
else:
    ans=(n+1)**2+2*n+1/n
    print(f'f({n:.2f}) = {ans:.2f}')
  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值