python实验二:控制结构

python的控制结构

自幂数是指一个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()

实验截图如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值