赞
踩
写在前面:这一课难度较低,报错时多看看冒号和缩进有无错误,祝大家做题顺利!!!
风速 | 74-95 | 96-110 | 111-130 | 131-154 | 155及以上 |
级别 | 1 | 2 | 3 | 4 | 5 |
第一关,送分题。第一问闰年:能被四整除,不能被100整除,能被400整除。所以也可以写成下面这样。
- def isleapYear(year):
- ####### begin #######
- flag = '' #flag默认为空格
- # 如果是闰年返回'yes',否则返回'no'
- if year%4 ==0 and year%100!=0 or year%400==0:
- return 'yes'
- else :
- return 'no'
- ####### ends #######
- return flag
- year = eval(input())
- flag = isleapYear(year)
- print(flag)
- #print('\n***********************\n')
第二问可以用列表list_1=[4,6,9,11],if x in list_1。其他按部就班即可。
- #第1题:
- def isleapYear(year):
- ####### begin #######
- flag = '' #flag默认为空格
- # 如果是闰年返回'yes',否则返回'no'
- if year%4 ==0 and year%100!=0:
- return 'yes'
- elif year%100 ==0 and year%400 !=0 :
- return 'no'
- elif year%400 == 0:
- return 'yes'
- else :
- return 'no'
- ####### ends #######
- return flag
- year = eval(input())
- flag = isleapYear(year)
- print(flag)
- #print('\n***********************\n')
-
- #第二题:
- def isSmallMonth(month):
- # 30天的月份:4,6,9,11
- #如果是30天的月份返回'yes',否则返回'no'
- flag = '' #flag默认为空格
- ####### begin #######
- if month==4 or month==6 or month==9 or month==11:
- return 'yes'
- else :
- return 'no'
- ####### end #########
- return flag
-
- month = int(input())
- flag = isSmallMonth(month)
- print(flag)
- #print('\n***********************\n')
-
- #第三题:
- # 定义等级函数,等级默认为0级
- def gradScore(score):
- grade = '0' #等级默认为0级
- #如果成绩>=90分的等级 'A'
- if score >= 90:
- grade="A"
- #否则成绩60-89分之间的用'B'表示
- elif 60 <= score < 90:
- grade = 'B'
- #60分以下的用'C'表示
- else :
- grade = 'C'
- return grade
-
- scores = int(input())
- grade = gradScore(scores)
- print(grade)
- #print('\n***********************\n')
-
- #第四题:
- # 从键盘输入风速
- def windVelocity(velocity):
- ####### begin #######
- # 默认是0级
- rank = 0
- # 如果风速在74到95之间,rank=1
- if 74<= velocity <= 95:
- rank=1
-
- # 如果风速在96到110之间,rank=2
- elif 96<= velocity <=110:
- rank=2
-
- # 如果风速在111到130之间,rank=3
- elif 111<= velocity <=130:
- rank=3
-
- # 如果风速在131到154之间,rank=4
- elif 131<= velocity <=154:
- rank=4
-
- # 如果风速大于155,rank=5
- elif velocity >= 155:
- rank=5
- ####### end #########
- return rank
- velocity = int(input())
- rank = windVelocity(velocity)
- print(rank)
- #print('\n***********************\n')

第1题:请完成程序,对给定的三个整数,按从小到大排序。
第2题:请完成程序,对给定的三个实数,假设第一个实数是二次项系数、第二个是一次项系数、第三个是常数项,请计算以这三个实数为系数的一元二次方程的实根,若方程无实根,两根输出均为None。 特别说明:方程的实根为大根在前,小根在后
第3题:请完成程序,实现以下函数f的计算能力,对给定的x
值,计算正确的f(x)
结果,如果输入的x不在[-10,8]之间,输出为None。
第二关,依旧简单。第一问:最简单的方法就是像我这样把每种情况都列出来,也可以使用max与min函数,不过中间那个数我还是要分六类,不知道大家有没有好的办法,可以在评论区提出。第二问:二次函数求解,注意“×”就行。第三问:在绝对值哪一部分,函数fabs默认输出浮点数,记得转化为整数。
- #第一题
- def sortThree(num1,num2,num3):
- #函数说明
- #参数为待排序的3个数
- #返回排序后的3个数
- # 请在下面编写代码
- # ********** Begin ********** #
- if num1<num2<num3:
- num1,num2,num3 = num1,num2,num3
- elif num1<num3<num2:
- num1,num2,num3 = num1,num3,num2
- elif num2<num1<num3:
- num1,num2,num3 = num2,num1,num3
- elif num2<num3<num1:
- num1,num2,num3 = num2,num3,num1
- elif num3<num1<num2:
- num1,num2,num3 = num3,num1,num2
- elif num3<num2<num1:
- num1,num2,num3 = num3,num2,num1
- # ********** End ********** #
- # 请不要修改下面的代码
- return num1,num2,num3
- n1,n2,n3 = eval(input())
- sx1,sx2,sx3 = sortThree(n1,n2,n3)
- if type(sx1) == float or type(sx2) == float or type(sx3) == float:
- print("%.4f,%.4f,%.4f"%(sx1,sx2,sx3))
- else:
- print(sx1,sx2,sx3,sep=',')
- #print('\n***********************\n')
-
- #第二题
- import math
- def solve(a,b,c):
- #函数说明
- #参数a,b,c分别代表方程的三个系数
- #返回方程的两个根
- # 请在下面编写代码
- # ********** Begin ********** #
- Delta = b**2-4*a*c
- if Delta < 0:
- root1,root2= 'None','None'
- else:
- root1=(-b+math.sqrt(Delta))/(2*a)
- root2=(-b-math.sqrt(Delta))/(2*a)
- # ********** End ********** #
- # 请不要修改下面的代码
- return root1,root2
-
- a,b,c = eval(input())
- r1,r2 = solve(a,b,c)
- if type(r1) == float or type(r2) == float :
- print("%.4f,%.4f"%(r1, r2))
- else:
- print(r1,r2)
-
- #print('\n***********************\n')
-
- #第三题
- #for x in [-9, -8, -7, -6, -5, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8]:
- def calexpress(x):
- # 请在下面编写代码
- # ********** Begin ********** #
- if -10<= x <-8:
- fx = x-2
- elif -8<= x <-6:
- fx = x+3
- elif -6<= x <-2:
- fx = x**2
- elif -2<= x <2:
- fx = math.fabs(x)
- fx = int(fx)
- elif 2<= x <=4:
- fx = x**3
- elif 4<= x <=6:
- fx = 3*x-4
- elif 6< x <=8:
- fx = 4*x+1
- else:
- return 'None'
- # ********** End ********** #
- # 请不要修改下面的代码
- return fx
-
- x = eval(input())
- fx = calexpress(x)
- if type(fx) == float:
- print("%.4f" % fx)
- else:
- print(fx)

第一题:BMI 问题的求解 请完成程序,根据下图表格,计算国内与国际BMI的值
已知某人的体重和身高,根据上表计算国内与国外的BMI,并输出结果。 提示:BMI= 体重/(身高的平方) 第二题:个人所得税的计算问题 在指定位置编写代码,实现一个函数,功能是根据下表计算个人所得税。
注:具体输出请查看测试集。
第三题:剪刀石头布的游戏问题 1、编写程序实现:剪刀、石头和布的游戏。 规则说明:1)两个人出的相同的为平局; 2)布胜过石头,石头胜过剪刀,剪刀胜过布。 提示:玩家:p1,p2 '剪刀''石头''布'= 'j','s','b' 结果: 0:平局,1:p1胜,-1:p1负
第三关,依然送分题。第一问可以像我一样分为6段,也可以分为WTO与DOM两部分。第二问这里个税是直接乘以税率,还有注意不要打错数字!!!(笔者在这里被卡了好久呜呜呜)第三问这样应该是最快的了(应该吧)
- #第一题
- def BMI(w,h):
- #函数说明
- #参数h表示体重,h表示身高
- #函数返回BMI值wto(国际), dom(国内)
- wto,dom = '',''
- #请在下面编写代码
- #wto, dom的结果为字符串类型的"肥胖","偏瘦","偏胖","正常"
- # ********** Begin ********** #
- BMI_=w/(h*h)
- if BMI_<18.5:
- wto,dom = '偏瘦','偏瘦'
- elif 18.5<=BMI_<24:
- wto,dom = '正常','正常'
- elif 24<=BMI_<25:
- wto,dom = '正常','偏胖'
- elif 25<=BMI_<28:
- wto,dom = '偏胖','偏胖'
- elif 28<=BMI_<30:
- wto,dom = '偏胖','肥胖'
- elif 30<=BMI_:
- wto,dom = '肥胖','肥胖'
- # ********** End ********** #
- return wto,dom
- #请不要修改下面的代码
- Weight,Height = eval(input())
- wto, dom = BMI(Weight,Height)
- print("BMI 指标为:国际'{0}', 国内'{1}'".format(wto, dom))
- #print('\n******************************\n')
-
- #第二题
- def calSalaTax(salary):
- # 函数说明
- #参数salary表示工作数
- #返回所得税费Tax
- Tax = 0
- # 请在下面编写代码
- # ********** Begin ********** #
- if 0<=salary<=47449:
- Tax = salary*0.22
- elif 47450<=salary<=114649:
- Tax = salary*0.25
- elif 114650<=salary<=174699:
- Tax = salary*0.28
- elif 174700<=salary<=311949:
- Tax = salary*0.33
- else:
- Tax = salary*0.35
- # ********** End ********** #
- # 请不要修改下面的代码
- return Tax
- salary = eval(input())
- salaTax = calSalaTax(salary)
- print("%.4f" %salaTax)
- #print('\n***********************\n')
-
- #第三题
- #for (p1, p2) in [('s', 'j'), ('b', 'j'),('j', 'j'), ('b', 's')]:
- def boxgGame(p1,p2):
- #函数说明
- #参数:p1,p2代表玩家1,玩家2,其值为's','j','b' 分别代表石头剪刀和布
- #返回值:game=-1,0,1分别代表p1输局,平局,赢局
- # ********** Begin ********** #
- if p1=='s' and p2=="j":
- game=1
- elif p1=='j' and p2=="b":
- game=1
- elif p1=='b' and p2=="s":
- game=1
- elif p1==p2:
- game=0
- else:
- game=-1
- # ********** End ********** #
- # 请不要修改下面的代码
- return game
- p1, p2 = input().split(',')
- game = boxgGame(p1,p2)
- print(game)
- #print('\n***********************\n')

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。