一
自幂数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身,当n等于4的时候,4位的自幂数称为四叶玫瑰数,求所有四叶玫瑰数。
for i in range(1000,10000):
a=str(i)
if int(a[0])**4+int(a[1])**4+int(a[2])**4+int(a[3])**4==i:
print(i)
二
2、每年365天,以第一天的体能值为基数,假设为1.0。条件:
(1)如果是女生,当锻炼身体时,每天的核心力量值提高0.1%,当不锻炼时,每天的核心力量值降低0.05%;
(2) 如果是男生,当锻炼身体时,每天的核心力量值提高0.15%,当不锻炼时,每天的核心力量值降低0.1%。
要求:
从键盘上输入你的性别,根据条件然后判断: 每天坚持锻炼和每天不锻炼时,一年后的核心力量值相差多少?(保留两位小数) ,需要满足以下:
(1) 输出结果的题头显示类似于: 欢迎光临能量测试系统 ,总长度为22,居中对齐,用星号补齐;使用字符串类型的format函数来实现固定格式 ,也可以自己设计显示样式。
(2) 输出的核心力量保留两位小数。
演示效果示例:
(3)另外,如果让用户循环测试呢,当用户不想继续测试时候退出。
str1="欢迎光临体能测试系统"
print("{0:*^22}".format(str1))
while(1):
print("请输入您的性别:(man/woman)")
a=input("")
if a=="man":
b=(1+0.0015)**365
c=(1-0.001)**365
print("坚持锻炼,您的一年后核心力量为:{:.2f}".format(b))
print("不坚持锻炼,您的一年后核心力量为:{:.2f}".format(c))
print("坚持与不坚持一年后核心力量差为:{:.2f}".format(b-c))
else:
d=(1+0.001)**365
e=(1-0.0005)**365
print("坚持锻炼,您的一年后核心力量为:{:.2f}".format(d))
print("不坚持锻炼,您的一年后核心力量为:{:.2f}".format(e))
print("坚持与不坚持一年后核心力量差为:{:.2f}".format(d-e))
m=input("请问您是否需要继续测试:(yes/no):")
if m=="no":
Break
实验截图如下
三
3、设计一个程序来帮助数学老师判卷子,本次数学题一共11道,已经知道正确答案分别是"adbdcacbdac",请根据正确答案,找出学生的错误,并且请给出最终分数。
演示效果示例:
str1="adbdcacbdac"
a=input("Enter your exam answers:")
b=0
c=[]
for i in range(len(str1)):
if a[i]==str1[i]:
b=b+1
c.append(str1[i])
else:
c.append('X')
d=''.join(c)
print("You miss {} questions:{}".format(len(str1)-b,d))
print("Your score is:{:.0f} percent".format(100/11*b))
四
从键盘上输入行数(奇数),然后输出图形。如:
a=eval(input("输入菱形总行数(奇数):"))
s='*'
b=1
for i in range(1,a//2+2):
print(str(s*b).center(a,' '))
b=b+2
b=b-2
for i in range(1,a//2+1):
b=b-2
print(str(s*b).center(a,' '))
实验截图如下:
五
5、计算你银行带来的回报,假设你存银行一笔钱是10000,年利率是5%,则计算20年后,变成了多少钱?
能否打印每一年的变化(类似于下图展示),试一试图表呢,提示使用matplotlib.pyplot。
import matplotlib.pyplot as plt
n=10000
year=2020
x,y=[],[]
for i in range(1,21,1):
n=n*1.05
year=year+1
x.append(year)
y.append(n)
print("{} {:.2f}".format(year,n))
plt.plot(x,y)
plt.title("How much I got")
plt.ylabel("Money")
plt.xlabel("year")
plt.grid()
plt.axis([2021,2040,10000,30000])
plt.show()
实验截图如下: