浙⼤版《Python程序设计》题⽬集第⼆章(下)-8 转换函数使⽤
输⼊⼀个整数和进制,转换成⼗进制输出
输⼊格式:
在⼀⾏输⼊整数和进制
输出格式:
在⼀⾏⼗进制输出结果
样例">输⼊样例:
在这⾥给出⼀组输⼊。例如:
45,8
输出样例:
在这⾥给出相应的输出。例如:
37
a,r=input().split(",")
r=int(r)
print(int(a,r))
-9 ⽐较⼤⼩
对于本题,我才⽤的是列表排序,直接调⽤python的排序函数,当然不排除其他做法
本题要求将输⼊的任意3个整数从⼩到⼤输出。
输⼊格式:
输⼊在⼀⾏中给出3个整数,其间以空格分隔。
输出格式:
在⼀⾏中将3个整数从⼩到⼤输出,其间以“->”相连。
输⼊样例:
4 2 8
输出样例:
2->4->8
a,b,c=input().split(" ")
a=int(a)
b=int(b)
c=int(c)
l=[]
l.append(a)
l.append(b)
l.append(c)
l.sort()
print("{:d}->{:d}->{:d}".format(l[0],l[1],l[2]))
-10 输出华⽒-摄⽒温度转换表
输⼊2个正整数lower和upper(lower≤upper≤100),请输出⼀张取值范围为[lower,upper]、且每次增加2华⽒度的华⽒-摄⽒温度转换表。
温度转换的计算公式:C=5×(F−32)/9,其中:C表⽰摄⽒温度,F表⽰华⽒温度。
输⼊格式:
在⼀⾏中输⼊2个整数,分别表⽰lower和upper的值,中间⽤空格分开。
输出格式:
第⼀⾏输出:"fahr celsius"
接着每⾏输出⼀个华⽒温度fahr(整型)与⼀个摄⽒温度celsius(占据6个字符宽度,靠右对齐,保留1位⼩数)。
若输⼊的范围不合法,则输出"Invalid."。
输⼊样例1:
32 35
输出样例1:
fahr celsius
32  0.0
34  1.1
输⼊样例2:
40 30
输出样例2:
Invalid.
注意:不要忘记采⽤分⽀结构判断输⼊的两个数是否符合对应的⼤⼩关系
l,u=input().split()
l=int(l)
u=int(u)
if l<=u :
print("fahr celsius")
while l<=u:
print("{:d}{:6.1f}".format(l,5*(l-32)/9))
l+=2
else :
print("Invalid.")
-11 求平⽅与倒数序列的部分和
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+…+n2+1/n。
输⼊格式:
输⼊在⼀⾏中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在⼀⾏中按照“sum = S”的格式输出部分和的值S,精确到⼩数点后六位。题⽬保证计算结果不超过双精度范围。
输⼊样例:
5 10
输出样例:
sum = 355.845635
m,n=input().split()
m=int(m)
n=int(n)
sum=0
while m<=n:
sum+=m*m*1.0+1*1.0/m
m+=1
print("sum = {:0.6f}".format(sum))
-12 输出三⾓形⾯积和
本题要求编写程序,根据输⼊的三⾓形的三条边a、b、c,计算并输出⾯积和周长。注意:在⼀个三⾓形中, 任意两边之和⼤于第三边。三⾓形⾯积计算公式:area=s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。
输⼊格式:
输⼊为3个正整数,分别代表三⾓形的3条边a、b、c。
输出格式:
如果输⼊的边能构成⼀个三⾓形,则在⼀⾏内,按照
area = ⾯积; perimeter = 周长
的格式输出,保留两位⼩数。否则,输出
These sides do not correspond to a valid triangle
输⼊样例1:
5 5 3
输出样例1:
area = 7.15; perimeter = 13.00
输⼊样例2:
1 4 1
输出样例2:
These sides do not correspond to a valid triangle
-13 分段计算居民⽔费
为⿎励居民节约⽤⽔,⾃来⽔公司采取按⽤⽔量阶梯式计价的办法,居民应交⽔费y(元)与⽉⽤⽔量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现⽔费的计算。
输⼊格式:
输⼊在⼀⾏中给出⾮负实数x。
输出格式:
在⼀⾏输出应交的⽔费,精确到⼩数点后2位。
输⼊样例1:
12
输出样例1:
16.00
输⼊样例2:
16
输出样例2:
22.50
x=float(input())
if x<15 :
y=4*x/3
else :
y=2.5*x-17.5
print("{:0.2f}".format(y))
-14 求整数段和
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输⼊格式:
输⼊在⼀⾏中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
⾸先顺序输出从A到B的所有整数,每5个数字占⼀⾏,每个数字占5个字符宽度,向右对齐。最后在⼀⾏中按Sum = X的格式输出全部数字的和X。
输⼊样例:
-3 8
输出样例:
-3  -2  -1    0    1
2    3    4    5    6
7    8
Sum = 30
本题我使⽤了函数,当然不排除其他做法正确
def f_1(m,n):
ans=0
sum=0
for i in range(m,n+1):
sum+=i
ans+=1
print('{:5d}'.format(i),end="")
if ans%5==0 or ans==n-m+1:
print()
python格式化输出formatprint("Sum = ""{}".format(sum))
m,n= map(int,input().split())
f_1(m,n)