《Python程序设计》第二章

本文提供了一系列数学编程问题的解决方案,包括求序列和、分段函数计算、阶梯电价计算等,并展示了如何通过编程来解决这些数学问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

7-1 计算 11+12+13+...+m

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

7-3 阶梯电价

7-4 求奇数分之一序列前N项和

7-5 求交错序列前N项和

7-6 产生每位数字相同的n位数

7-7 转换函数使用

7-8 比较大小

7-9 输出华氏-摄氏温度转换表

7-10 求平方与倒数序列的部分和

7-11 偶数位特殊序列和

7-12 输出三角形面积和周长

7-13 分段计算居民水费

7-14 求整数段和



7-1 计算 11+12+13+...+m

result = num = int(input())

for z in range(11, num):
    result += z

print("sum = %d" % result)
N = int(input()) + 1
print("sum = " + str(sum([x for x in range(11, N)])))

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

x = float(input())
result = 0 if x == 0 else 1 / x
print("f(%.1f) = %.1f" % (x, result))

7-3 阶梯电价

figure = float(input())
result = 0.53*figure if figure<=50 else 26.5+(figure-50)*0.58

if figure>0 :
    print("cost = %.2f"%(result))
else :
    print("Invalid Value!")

7-4 求奇数分之一序列前N项和

N = int(input())
result = 1.0
for z in range(1,N):
    result += 1.0 / (z * 2 + 1)
print("sum = %.6f" % result)
N = int(input()) * 2
print("sum = %.6f" % sum([1 / x for x in range(1, N, 2)]))

7-5 求交错序列前N项和

N = int(input())
result = flag = 1.0

for z in range(2,N+1):
    flag = -flag
    result += flag * z / (z*2-1)

print("%.3f" % result)
N = int(input()) + 1
print("%.3f" % sum([x / (x * 2 - 1) if x % 2 == 1 else -x / (x * 2 - 1) for x in range(1, N)]))

7-6 产生每位数字相同的n位数

N,M = map(int,input().split(','))
for z in range(0,M):
    print("%d" % N,end='')
N, M = map(int, input().split(','))
print(sum([N * (10 ** x) for x in range(0, M)]))

7-7 转换函数使用

num, flag = map(int, input().split(','))
result = 0
op = 1

while num > 0:
    result += num % 10 * op
    op *= flag
    num //= 10

print("%.f"%result)

7-8 比较大小

a, b, c = map(int, input().split())
if a > b: (a, b) = (b, a)
if a > c: (a, c) = (c, a)
if b > c: (b, c) = (c, b)

print("%d->%d->%d" % (a, b, c))

7-9 输出华氏-摄氏温度转换表

a, b = map(int, input().split())
    
if a > b or b > 100:
    print('Invalid.')
else:
    print('fahr celsius')
    while a <= b:
        print("%d%6.1f" % (a, 5.0 * (a - 32) / 9))
        a += 2

7-10 求平方与倒数序列的部分和

a, b = map(int, input().split())
result = 0.0
for index in range(a, b + 1):
    result += index * index + 1 / index

print("sum = %.6f" % result)
N, M = map(int, input().split())
print("sum = %.6f" % sum([x*x+1/x for x in range(N,M+1)]))

7-11 偶数位特殊序列和

a, b = map(int, input().split())
result = op = a*10+a

for index in range(2, b, 2):
    op = op*100+a*10+a
    result += op

print(result)
A, N = map(int, input().split())
print(sum([sum([A * (10 ** y) for y in range(x)]) for x in range(2, N + 1, 2)]))

7-12 输出三角形面积和周长

import math

a, b, c = map(int, input().split())
if a + b > c and a + c > b and b + c > a:
    s = (a + b + c) / 2.0
    area = math.sqrt(s * (s - a) * (s - b) * (s - c))
    print("area = %.2f; perimeter = %.2f" % (area, a+b+c))

else:
    print("These sides do not correspond to a valid triangle")

7-13 分段计算居民水费

x = float(input())
y = 4*x/3 if x<=15 else 2.5*x-17.5
print("%.2f"%y)

7-14 求整数段和

head, tail = map(int, input().split())
result = flag = 0 # 结果 and 判断换行

for index in range(head, tail + 1):
    if flag % 5 == 0 and flag>0: print()
    flag += 1
    result += index
    print("%5d" % index, end='')

print("\nSum = %d" % result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三块不一样的石头

十分满意,一分打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值