第2章-7 产生每位数字相同的n位数
读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA…A,一共B个A
输入格式: 在一行中输入A和B。
输出格式: 在一行中输出整数AA…A,一共B个A
输入样例1: 在这里给出一组输入。例如:
1, 5
输出样例1: 在这里给出相应的输出。例如:
11111
输入样例2: 在这里给出一组输入。例如:
3 ,4
输出样例2: 在这里给出相应的输出。例如:
3333
A, B = map(int, input().split(','))
print(str(A) * B)
第2章-8 转换函数使用 (30 分)
输入一个整数和进制,转换成十进制输出
输入格式: 在一行输入整数和进制
输出格式: 在一行十进制输出结果
输入样例: 在这里给出一组输入。例如:
45,8
输出样例: 在这里给出相应的输出。例如:
37
第2章-10 输出华氏-摄氏温度转换表 (15 分)
输入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 = map(int, input().split())
if L <= U:
print('fahr celsius')
for i in range(L, U+1, 2):
A = 5 * (i - 32) / 9
print(i, '%5.1f' % A)
else:
print('Invalid.')
第2章-11 求平方与倒数序列的部分和 (15 分)
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和
输入格式: 输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:
5 10
输出样例:
sum = 355.845635
A, B = map(int, input().split())
Sum = 0
for i in range(A, B+1):
Sum += i*i + 1/i
print('sum = %.6f' % Sum)
第2章-12 输出三角形面积和周长 (15 分)
本题要求编写程序,根据输入的三角形的三条边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
A, B, C = map(int, input().split())
if A + B > C and B + C > A and C + A > B:
S = (A + B + C)/2
Area2 = S*(S-A)*(S-B)*(S-C)
Area = pow(Area2, 0.5)
Perimeter = A + B + C
print('area = %.2f; perimeter = %.2f' %(Area,Perimeter) )
else:
print('These sides do not correspond to a valid triangle')
第2章-14 求整数段和 (15 分)
给定两个整数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
A, B = map(int, input().split())
Sum, Times = 0, 0
for i in range(A, B+1):
print("{:>5}".format(i), end="")
Sum += i
Times += 1
if Times%5 == 0:
print()
print("\nSum =",Sum)
部分错误,发现当 Times
为5的倍数时,会多输出一个 \n
,导致格式错误。
A, B = map(int, input().split())
Sum, Times = 0, 0
for i in range(A, B+1):
print("{:>5}".format(i), end="")
Sum += i
Times += 1
if Times%5 == 0:
print()
if Times%5 != 0:
print()
print("Sum =",Sum)
修改完的代码,能过,但是看着,额,不好看。