实验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))