PTA-浙大版 《Python程序设计》 第二章编程题(2)WEEK3


代码思路仅供参考,欢迎大家批评指正!


1. 计算 11+12+13+…+m

输入一个正整数m(20<=m<=100),计算 11+12+13+…+m 的值。
在这里插入图片描述

m=int(input())
sum=0
for i in range(11,m+1):
    sum+=i
print("sum =",sum)

2. 计算分段函数

输入一个整数和进制,转换成十进制输出
在这里插入图片描述

x = eval(input())
if x == 0:
    print(f'g({x:.3f}) = 0.000')
else:
    print(f'g({x:.3f}) = {1/(2*x):.3f}')

3. 阶梯电价

为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调X元/千瓦时。请编写程序计算电费。
在这里插入图片描述

a, x = map(float, input().split())
if a < 0:
    print("Invalid Value!")
elif a <= 50:
    print("cost = {:.2f}".format(a*0.53))
else:
    print("cost = {:.2f}".format(50*0.53+(a-50)*(0.53+x)))

4. 求奇数分之一序列前N项近似和

本题要求编写程序,计算序列 1 + 1/3 + 1/5 + … 的前N项近似和(提示:用ceil函数)。
在这里插入图片描述

import math
n = int(input())
sm = 0
d = 1
for i in range(n):
    sm = sm + 1/d
    d = d+2
print("sum ≈ %d" % math.ceil(sm))

5. 求交错序列前N项和

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。
在这里插入图片描述

n = int(input())
sum = 0
a = 1
b = 1
for i in range(n):
    if a % 2 == 0:
        sum -= a / b
    else:
        sum += a / b
    a += 1
    b += 2
print("%.3f" % sum)

6. 输出摄氏-华氏温度转换表

输入2个正整数lower和upper(-20<=lower<=upper<=50),表示摄氏范围。请输出一张取值范围为[lower,upper]、且每次增加2摄氏度的摄氏-华氏温度转换表。温度转换的计算公式:

F=C×1.8+32
其中:C表示摄氏温度,F表示华氏温度。

在这里插入图片描述

lower,upper=map(eval,input().split())
if -20<= lower<= upper<=50:
    print("celsius    fahr")
    i = lower
    while i <= upper:
        print("{:d}{:>14.1f}".format(i, i * 1.8 + 32))
        i = i + 2
else:
    print("Invalid.")

7. 偶数位特殊序列和

给定不超过9的正整数a,给定正整数n,n是偶数,4<=n<=18,要求编写程序求aa+aaaa+aaaaaa+⋯+aa⋯a(n个a)之和。
在这里插入图片描述

a, n = map(int, input().split())

s = 0
for i in range(2, n+1):
    if i % 2 == 0:
        s += int(i * str(a))
    
print(s)

8. 分段计算居民水费

为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。
在这里插入图片描述

x = float(input())

if x <= 15:
    print(f'{4 * x / 3:.2f}')
elif x > 15:
    print(f'{2.5 * x - 17.5:.2f}')
else:
    print('Invalid!')

9. 输出指定图形

输入正整数(1<=n<=7),输出指定图形。(提示:用*运算符)
在这里插入图片描述

n = int(input())

for i in range(1, n+1):
    print(i * '* ')

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值