# 1、编程:从控制台输入一个年份,和一个月份,计算并输出该月有多少天?其中需要判断闰年。
# 备注:闰年的判断条件为:年份能被4整除但不能被100整除,或者年份能被400整除
# 第一种
year = int((input("请输入年份:\n")))
month = int((input("请输入月份:\n")))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
years = "闰年"
else:
years = "平年"
if month == 2 and years == "闰年" :
print("{}年是闰年,{}月是29天".format(year,month))
else:
if month in (1,3,5,7,8,10,12) and years == "闰年":
print("{}年是闰年,{}月是31天".format(year,month))
if month in (4,6,9,11) and years == "闰年":
print("{}年是闰年,{}月是30天".format(year,month))
if month == 2 and years == "平年":
print("{}年是平年,{}月是28天".format(year,month))
else:
if month in (1,3,5,7,8,10,12) and years == "平年" :
print("{}年是平年,{}月是31天".format(year,month))
if month in (4,6,9,11) and years == "平年":
print("{}年是平年,{}月是30天".format(year,month))
# 第二种
year = int((input("请输入年份:\n")))
month = int((input("请输入月份:\n")))
list1 = [4,6,9,11]
list2 = [1,3,5,7,8,10,12]
if month == 2:
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("本年是闰年,2月有29天")
else:
print("本年是平年,2月有28天")
elif month in list1:
print("本月是30天")
elif month in list2:
print("本月是31天")
else:
print("你输入的时间有误,谢谢使用")
# 2、编程:从控制台输入一个整数,判断是否是素数。素数只能被1和本身整除的数(2~n-1)
# 分析:哪些是素数?2,3,5,7,11.。。。
# 小于等于1------》不是素数
# 等于2 -------》是素数
# 3,5,7...----》 概念去判断
# 第一种
a = int(input("输入一个数:"))
for b in range(2,a):
if a % b == 0:
print("{}这个数不是素数".format(a))
break
elif a % b != 0:
b += 1
print("{}这个数是素数".format(a))
break
# 第二种
num = int(input("请输入一个整数:\n"))
if num <= 1:
print("不是素数")
elif num == 2:
print(num,"是素数")
else:
for i in range(2, num):
if num % i == 0:
print("{}这个数不是素数".format(num))
break
else:
print("{}这个数是素数".format(num))
# 3、编程:定义三个使用for循环打印:三角形,正方形,长方形的方法,要求从控制台询问你喜欢的图形,
# 如输入三角形,则打印出三角形(层数自拟),如输入正方形,则打印出正方形(层数自拟)。图形参考如下
# *
# * *
# * * *
# * * * *
def sjx():
a = int(input("请输入三角形的层数:"))
for i in range(1,a+1):
for j in range(1,i+1):
print("*",end=" ")
print()
def zfx():
a = int(input("请输入三角形的层数:"))
for i in range(1,a+1):
for j in range(1,a+1):
print("*",end=" ")
print()
def cfx():
a = int(input("请输入三角形的层数:"))
for i in range(1,a+1):
for j in range(1,i+1):
print("*",end=" ")
print()
# 方法调用:
pic = input("请输入你想要的图形,目前仅支持三角形,长方形,正方形...\n")
if pic == "三角形":
sjx()
elif pic == "正方形":
zfx()
elif pic == "正方形":
zfx()
else:
print("你想要的图形目前暂不支持,谢谢使用!")
# 4、定义四个不同的方法,计算语数英3门课程的“总分”、“平均分”、“最高分”及“最低分”。
# 创建小明变量,并输入小明语数英三门课的成绩,通过方法调用求出小明的总分、平均分、最高分和最低分
def sum1(a): # a = [90,89,78]
sumScore = 0
for i in a:
sumScore += i
return sumScore
def avg1(a):
return sum1(a) / 3
def max1(a):
return max(a)
def min1(a):
return min(a)
# 调用方法:
xiaoming = []
for i in range(3):
score = int(input("请录入您的成绩:"))
if 0 <= score <= 100:
xiaoming.append(score)
else:
print('您录入的成绩有误')
print("小明的总分是:{}".format(sum1(xiaoming)))
print("小明的平均分是:{}".format(avg1(xiaoming)))
print("小明的最高分是:{}".format(max1(xiaoming)))
print("小明的最低分是:{}".format(min1(xiaoming)))