实验1 Python控制结构

实验1.1: 三角形判断

题目描述:输入三个数,判断能否构成一个三角形。若能,则输出三角形是等腰三角形、等边三角形、直角三角形,还是普通三角形;若不能,则输出“不能组成三角形”提示信息。

a = input("请输入三个数字(以空格分开):")
# 由于有空格输入所以下标为0 2 4
x = int(a[0])
y = int(a[2])
z = int(a[4])
if x+y>z and y+z > x and x+z > y and abs(x-y) < z and abs(x-z) < y and abs(y-z) < x :
    if x==y and y==z:
        print("等边三角形") 
    elif x==y or x==z or z==y:
        print("等腰三角形")
    elif x**2+y**2==z**2 or x**2+z**2==y**2 or z**2 + y**2 ==x**2:
        print("直角三角形")
    else:
        print("普通三角形")

else:
    print("不能组成三角形")

实验1.2:银行利率计算

题目描述:已知银行整存整取存款不同期限的月息利率分别为:
0.33% 期限1年
0.36% 期限2年
月息利率 = 0.39% 期限3年
0.45% 期限5年
0.54% 期限8年
要求输入存款的本金和期限,求到期时能从银行得到的利息与本金的合计。

s = float(input("请输入本金"))
y = int(input("请输入期限"))
if y >= 8:
    e = s*(1.54**(y*12))
elif y >= 5:
    e = s*(1.45**(y*12))
elif y >= 3:
    e = s*(1.39**(y*12))
elif y == 2:
    e = s*(1.36**(y*12))
else:
    e = s*(1.33**(y*12))
print(e)

实验1.3:通过日期求某月的天数

题目描述:输入日期的年份和月份,求该月有多少天。提示:对于月份为1、3、5、7、8、10、12的月份天数为31,月份为4、6、9、11的月份天数为30,月份为2时要结合年份考虑闰年的情况。

y = int(input("请输入年份:"))
m = int(input("请输入月份:"))
if m in [1,3,5,7,8,10,12]:
    print(31)
elif m in [4,6,9,11]:
    print(30)
elif (y%4==0 and y/400!=0) or (y%400==0):
    print(29)
else:
    print(28)

实验1.4:研究生录取

题目描述:某高校录取研究生的要求是,新生的每门课成绩不低于60分,总成绩不低于330分,380分以下为自费。编一程序实现输入一个学生的四门课成绩,试判断该生为该校录取的情况(“没有录取”、“自费”、“公费”三种情况)。
输入描述:输入四门课的成绩,成绩均为0-150之间的整数。
输出描述:录取结果。(“没有录取”、“自费”、“公费”)

print("请输入该研究生四门课的成绩:")
a,b,c,d = map(int,input().split())
flag = 0
sum = a+b+c+d
if a>60 and b>60 and c>60 and d>60 :
    if sum>380:
        print("公费")
    else:
        print("自费")   
else :
    print("没有录取")

实验1.5:素数判断

题目描述:任意输入一个正整数,判断是否为素数。(素数定义:除1和自身之外没有其他因子的正整数。,如13是素数!)

a = int(input("请输入一个素数:"))
flag = 1
for i in range(2,a):
    if(a%i==0):
        flag = 0
        break;
if flag == 1:
    print(a,"是素数")
else :
    print(a,"不是素数")

实验1.6:寻找完数

题目描述:编程找出1000以内所有完数。(完数定义:一个正整数除自身外所有因子之和等于该数,则该数为完数,如6=1+2+3,28=1+2+4+7+14,因此6,28是完数)

for i in range(6,1000):
    sum = 1
    for j in range(2,i):
        if i%j == 0:
            sum += j
        else:
            continue
    
    if sum == i:
        print(i)
    else:
        continue


实验1.7:水仙花数

题目描述:编程找出三位数中所有的水仙花数。(水仙花数定义:一个三位正整数的百位、十位和各位的个数位数字立方之和等于该数,则该数为水仙花数。例如153=13+53+33。)

for i in range(100,1000):
    a=i%10
    b=(i//10)%10
    c=i//100
    if i == a**3+b**3+c**3:
        print(i)
    else:
        continue

实验1.8:列表计算

题目描述:随机产生10个10-50之间的随机正整数存入列表list1中,再找出该列表中的最大值、最小值和平均值。

import random
a = []
sum  = 0
for i in range(0,10):
    a.append(int(random.random()*40+10))
    sum += a[i]
a.sort()
print("最大值{},最小值{},平均值{}".format(a[9],a[0],sum/10))
    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值