5-1 判断是否为四叶玫瑰数
题目要求:
任意输入一个4位整数N,判断并输出N是否为四叶玫瑰数
提示:四叶玫瑰数,即4位整数N的每位数字的 4 次幂之和等于它本身,即
abcd=a4 +b4 +c4 +d4
输入样例:
8208
输出样例:
8208 是四叶玫瑰数
输入样例:
1234
输出样例:
1234 不是四叶玫瑰数
x = int(input())
a = x // 1000
b = x // 100 - a*10
c = x // 10 - a*100 -b*10
d = x - a*1000 - b*100 -c*10
if x == a**4 + b**4 + c**4 + d**4:
print(x,'是四叶玫瑰数')
else:
print(x,'不是四叶玫瑰数')
5-2 字符串排序
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
输入格式:
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
输出格式:
按照以下格式输出排序后的结果:
After sorted:
每行一个字符串
输入样例:
red yellow blue green white
输出样例:
After sorted:
blue
green
red
white
yellow
x = list(input().split())
x.sort()
print('After sorted:')
for i in x:
print(i)
5-3 身体质量指数BMI计算
获取用户输入的体重和身高值, 计算并给出国际和国内的BMI分类
国际和国内的BMI分类如下:
输入格式:
输入升高t和体重值,用逗号隔开,如: 1.68,41
输出格式:
输出 BMI数值,并显示国际和国内的分类,
输入样例:
1.68,41
输出样例:
BMI数值为:14.53
BMI指标为:国际’偏瘦’,国内’偏瘦’
x = input().split(',')
a = eval(x[0])
b = eval(x[-1])
bmi = b / a**2
bmi = '%.2f' % bmi
print('BMI数值为:'+str(bmi))
bmi = float(bmi)
if bmi < 18.5:
print("BMI指标为:国际'偏瘦',国内'偏瘦'")
elif bmi>=18.5 and bmi<24:
print("BMI指标为:国际'正常',国内'正常'")
elif bmi>=24 and bmi<25:
print("BMI指标为:国际'正常',国内'偏胖'")
elif bmi>=25 and bmi<28:
print("BMI指标为:国际'偏胖',国内'偏胖'")
elif bmi >=28 and bmi <30:
print("BMI指标为:国际‘偏胖’,国内'肥胖'")
elif bmi >=30:
print("BMI指标为:国际'肥胖',国内'肥胖'")
5-4 温度转换
题目要求:
用户输入一个带符号(C或F,不区分大小写)的温度值,如果输入的温度为摄氏度(C或c)则将其转换为华氏度(F)并输出;如果输入的温度为华氏度(F或f),则将其转换为摄氏度(C)并输出,转换后的温度值保留2位小数,带符号(F或C);如果输入格式不正确,输出“输入格式错误”。
提示:
摄氏度:中国等世界大多数国家采用的温度体系,1标准大气压下谁的结冰点为0度,沸点为100度
华氏度:美国、英国等国家使用的温度体系,1标准大气下下水的结冰点为32度,沸点为212度
两种温度体系间的转换公式为:
C=(F - 32) /1.8
F= C * 1.8 +32
输入样例:
12.34C
输出样例:
54.21F
输入样例:
32f
输出样例:
0.00C
输入样例:
12
输出样例:
输入格式错误
x = input()
a = float(x[0:-1])
if x[-1] in ['c','C']:
b = a*1.8 +32
b = '%.2f' % b
print(str(b)+'F')
elif x[-1] in ['f','F']:
b = (a-32)/1.8
b = '%.2f' % b
print(str(b)+'C')
else:
print('输入格式错误')
5-5 最大公约数和最小公倍数
本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
输入样例:
511 292
输出样例:
73 2044
a = input().split()
x = int(a[0])
y = int(a[1])
if x > y:
(x,y) = (y,x)
for i in range(x,0,-1):
if x % i == 0 and y % i == 0:
break
print(str(i),end=' ')
print(str(int(x * y / i)))
5-6 水仙花数
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。
本题要求编写程序,计算所有N位水仙花数。
输入格式:
输入在一行中给出一个正整数N(3≤N≤5)
输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。
输入样例:
在这里给出一组输入。例如:
3
输出样例:
在这里给出相应的输出。例如:
153
370
371
407
x = int(input())
for a in range(10**(x-1),10**x):
b = list(str(a))
c = [int(i)**x for i in b]
if sum(c) == a :
print(a)
5-7 打印九九口诀表
下面是一个完整的下三角九九口诀表:
本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
输出样例:
a = int(input())
b = 1
while b <= a:
c = 1
while c <= b:
print("%d*%d=%-4d" % (c, b, b*c), end = "")
c += 1
print()
b += 1
5-8 输出三角形字符阵列
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
输入格式:
输入在一行中给出一个正整数n(1≤n<7)。
输出格式:
输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。
输入样例:
4
输出样例:
A B C D
E F G
H I
J
x = int(input())
y = 0
for i in range(x):
for a in range(x-i):
s = ord('A') + y
y += 1
print(chr(s),end=' ')
print()
5-9 分段函数&数学函数
本题要求计算下列分段函数f(x)的值(x为从键盘输入的一个任意实数):
输入格式:
直接输入一个实数x
输出格式:
在一行中按“f(x)=result”的格式输出,其中x与result都保留三位小数。
输入样例:
3.14
输出样例:
f(3.140)=0.865
import math
x = float(input())
if x <= -1:
fx = (math.e)**x
elif x >= 1:
fx = (math.cos(x) + x**2)/(2.5+abs(x+math.log(100)))
else:
fx = (2-2*x)**0.5
x = '%.3f' % x
fx = '%.3f' % fx
print('f('+str(x)+')='+ fx)
5-10 凯撒密码加密算法
编写一个凯撒密码加密程序,接收用户输入的文本和密钥k,对明文中的字母a-z和字母A-Z替换为其后第k个字母。
输入格式:
接收两行输入,第一行为待加密的明文,第二行为密钥k。
输出格式:
输出加密后的密文。
输入样例:
在这里给出一组输入。例如:
Hello World!
3
输出样例:
在这里给出相应的输出。例如:
Khoor Zruog!
s=input()
b=int(input())
a="abcdefghijklmnopqrstuvwxyz"
A="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for i in s:
if 'a'<=i<='z':
c=a.find(i)
print(a[(c+b+26)%26],end='')
elif 'A'<=i<='Z':
c=A.find(i)
print(A[(c+b+26)%26],end='')
else:
print(i,end="")