第1关:分段函数
本关任务:有一分段函数如下:
编程实现,输入x值,输出满足函数关系的y值。
#分段函数
x=eval(input()) #输入x的值
#代码开始
if x<1:
y=x
elif 1<=x<10:
y=2*x-1
else:
y=3*x-1
#代码结束
print("{:.2f}".format(y))
第2关:输入年月输出该月的天数
本关任务:输入年份和月份,输出该月天数。
提示:月份有31、30天,二月可能是29或28天, 对输入年份需要判断是否是闰年。 如:有31天的月份为[1,3,5,7,8,10,12]月。
#输入年月输出该月的天数
#输入年月输出该月的天数
y=eval(input()) #输入年份
m=eval(input()) #输入月份
d=0 #天数
#代码开始
if m==2 :
if y%4==0 and y%100 !=0 or y%400==0:
d=29
else:
d=28
elif m!=2:
if m==1or m==3 or m==5or m==7or m==8 or m==10 or m==12:
d=31
else:
d=30
#代码结束
print(d)
第3关:判断三角形类型
本关任务:编写一个根据三角形的三条边长,判定是何种三角形的程序。
#判定三角形类型
a=eval(input()) #输入三角形的三条边a、b和c
b=eval(input())
c=eval(input())
#代码开始
if a+b>c and a+c>b and b+c>a:
if a==b==c:
print('正三角形')
elif a==b!=c or b==c!=a or a==c!=b:
print('等腰三角形')
elif a*a+b*b==c*c or a*a+c*c==b*b or c*c+b*b==a*a :
print('直角三角形')
else:
print('一般三角形')
else:
print('不构成三角形')
第4关:根据身份证号判断是否到了合法结婚年龄
本关任务: 我国身份证是18位,第7~14位表示出生年月日,第17位是性别表示位,奇数为男性,偶数为女性。输入一个身份证号,首先判断其长度是否正确;若正确再判断输出其性别及是否到了合法结婚年龄。 我国婚姻法规定,男性22岁和女性20岁为合法结婚年龄。本题不考虑月份,以2021年为参考,2000年1月1日后出生的男性和2002年1月1日后出生的女性视为未到法定结婚年龄。
提示:性别的判断问题转换为奇偶数的判别,这是模运算的基本应用,一个整数对2取模,若余数为0则表示该整数为偶数,否则为奇数。
#根据身份证号判断是否到了合法结婚年龄
id= input() #输入身份证号码
n=id[6:10]
z=id[-2]
x=eval(n)
y=eval(z)
if len(id)==18:
if y%2==0:
print('性别:女')
if 2021-x>=20:
print('达到合法结婚年龄')
else:
print('未到合法结婚年龄')
else:
print('性别:男')
if 2021-x>=22:
print('达到合法结婚年龄')
else:
print('未到合法结婚年龄')
else:
print('身份证号错误')
第5关:计算每月水费
本关任务:计算每月水费。 输入上月水表读数、本月水表读数、家庭人数和是否低保(y/n),计算并输出用水度数和水费。 某市水费价格实施阶梯式水价制度: (1)凡四口之家及以下,按户均用水量计价。 第一阶梯:每户每月15吨以下(含15吨)为2.88元/吨;第二阶梯:每户每月15~
22吨(含22吨)为3.64元/吨;第三阶梯:每户每月22吨上为4.39元/吨。 (2)凡五口之家及以上,按人均用水量计价。 第一阶梯:每人每月4吨(含4吨)为2.88元/吨;第二阶梯:每人每月4~
5吨(含5吨)为3.64元/吨;第三阶梯:每人每月5吨以上为4.39元/吨。 此外,对于低保居民,每户每月减免6吨的水费(若本月用水量不足6吨,不累计减免)。
#计算每月水费
l=eval(input("上月水表读数(吨):"))
c=eval(input("本月水表读数(吨):"))
n=eval(input("家庭人数:"))
i=input("是否低保(y/n):")
a=0 #每月用水吨数
m=0 #每月水费
#代码开始
a=c-l
if i=='n':
if n<=4:
if a<=15:
m=a*2.88
elif 15<a<=22:
m=43.2+(a-15)*3.64
else:
m=43.2+25.48+(a-22)*4.39
elif n>=5:
if a<=n*4:
m=a*2.88
elif n*4<a<=n*5:
m=n*4*2.88+(a-n*4)*3.64
else:
m=n*4*2.88+n*3.64+(a-n-n*4)*4.39
elif i=='y':
if n<=4:
if a<=6:
m=0
elif 6<a<=15:
m=(a-6)*2.88
a=a-6
elif 15<a<=22:
m=43.2+(a-6-15)*3.64
a=a-6
else:
m=43.2+25.48+(a-6-22)*4.39
a=a-6
elif n>=5:
if a<=n*4:
if a<=6:
m=0
a=a-6
else:
m=(a-6)*2.88
a=a-6
elif n*4<a<=n*5:
if a<=6:
m=(a)*3.64
else:
m=n*4*2.88+(a-6-n*4)*3.64
a=a-6
else:
if a<=6:
m=(a)*4.39
else:
m=n*4*2.88+n*3.64+(a-6-n-n*4)*4.39
a=a-6
#代码结束
print("本月用水吨数(减免后){:.2f}吨,水费{:.2f}元".format(a,m))
求个三连不过分吧。。。