本关任务:爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶。
平台会对你编写的代码进行测试:
测试输入: 预期输出: 119
def countlevel():
'''
:return:最小阶梯数
'''
# 请在此处添加代码 #
# *************begin************#
a=1
while(1):
if a%7==0 and a%2==1 and a%3==2 and a%5==4:
return a
a=a+1
# **************end*************#
print(countlevel())
本关任务:编写一个能打印三角形图案的函数。
平台会对你编写的代码进行测试:
测试输入:4
; 预期输出:
*
**
***
****
*
**
***
****
*
***
*****
*******
说明:程序会根据函数参数pow打印三个三角形,每个三角形pow行。
测试输入:8
; 预期输出:
*
**
***
****
*****
******
*******
********
*
**
***
****
*****
******
*******
********
*
***
*****
*******
*********
***********
*************
***************
def triangle(row):
'''
根据row值,打印三个三角形
:row:三角形行数
:return: 无返回值
'''
# 请在此处添加代码 #
# *************begin************#
for i in range(1,row+1):
print('*'*i)
for i in range(1,row+1):
print(' '*(row-i)+'*'*i)
for i in range(1,row+1):
print(' '*(row-i)+'*'*(2*i-1))
# **************end*************#
row = int(input())
triangle(row)
本关任务:编写一个能实现双色球选号的小程序。
根据提示,在右侧编辑器补充代码,编写一个能实现双色球选号的小程序。 双色球选号由7个数字组成y,其中有6个红球,其号码的取值范围为[1,33],一个蓝球的取值范围为[1,16],要求6个红球从小到大排列,蓝球在最后输出。其输出格式为09 12 16 20 30 33 | 03
。(注意,如双色球号码为3,则必须输出03)
平台会对你编写的代码进行测试:
测试输入:7
; 输入说明:选7注 预期输出:
09 12 16 20 30 33 | 03
01 07 08 09 18 31 | 16
05 08 21 26 28 31 | 05
01 03 06 22 25 33 | 02
02 09 16 20 27 28 | 13
15 19 24 26 28 32 | 05
02 05 07 16 24 32 | 09
from random import randrange, randint, sample
import random
def display(balls):
"""
按照题目所要求格式输出列表中的双色球号码
:param balls:双色球号码列表,如[9,12,16,20,30,33 3]
:print:输出格式为09 12 16 20 30 33 | 03
:return: 无返回值
"""
# 请在此处添加代码 #
# *************begin************#
red_balls=balls[:-1]
blue_ball=balls[-1]
formatted_balls=' '.join(f"{ball:02d}" for ball in sorted(red_balls))
print(f"{formatted_balls} | {blue_ball:02d}",end=' \n')
# **************end*************#
def random_select():
"""
随机选择一组号码
:return: 返回随机选择的这一组号码,如[9,12,16,20,30,33 3]
"""
# 请在此处添加代码 #
# *************begin************#
red_balls=sample(range(1,34),6)
blue_ball=randint(1,16)
return red_balls+[blue_ball]
# **************end*************#
#n为注数
def main(n):
for i in range(n):
display(random_select())
random.seed(3)
n = int(input())
if __name__ == '__main__':
main(n)
本关任务:编写一个能实现单位英寸与公制单位厘米的互换的函数。
测试说明
平台会对你编写的代码进行测试:
测试输入:3,cm;
预期输出:1.18英寸
测试输入:3,厘米;
预期输出:1.18英寸
测试输入:5,in;
预期输出:12.70厘米
测试输入:5,英寸;
预期输出:12.70厘米
测试输入:5,tt;
预期输出:请输入有效的单位
"""
英制单位英寸和公制单位厘米互换
"""
def cmin(value,unit):
''':param value:长度,
:param unit:单位'''
# 请在此处添加代码 #
# *************begin************#
if unit=='cm' or unit=='厘米':
print('%.2f英寸'%(value/2.54))
elif unit=='in' or unit=='英寸':
print('%.2f厘米'%(value*2.54))
else:
print('请输入有效的单位')
# **************end*************#
value=input()
value=int(value)
unit=input()
cmin(value,unit)
本关任务:编写一个能将百分制成绩转换为等级制成绩的函数。
根据提示,在右侧编辑器补充代码,将百分制成绩转换为等级制成绩。 (90<=score<=100:A); (80<=socre<90:B); (70<=socre<80:C); (60<=socre<70:D); (score<60:E)
平台会对你编写的代码进行测试:
测试输入:90.5
; 预期输出:A
测试输入:82
; 预期输出:B
def invert(score):
'''
百分制成绩转换为等级制成绩
:param score:百分制分数
:return: 等级(A,B,C,D,E)
'''
# 请在此处添加代码 #
# *************begin************#
if 90<=score<=100:
return 'A'
elif 80<=score<=90:
return 'B'
elif 70<=score<=80:
return 'C'
elif 60<=score<=70:
return 'D'
else :
return 'E'
# **************end*************#
score = float(input())
grad = invert(score)
print(grad)
本关任务:《幸运的基督徒》 有15个基督徒和15个非基督徒在海上遇险,为了能让一部分人活下来不得不将其中15个人扔到海里面去,有个人想了个办法就是大家围成一个圈,由某个人开始从1报数,报到9的人就扔到海里面,他后面的人接着从1开始报数,报到9的人继续扔到海里面,直到扔掉15个人。由于上帝的保佑,15个基督徒都幸免于难,问这些人最开始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。(用1代表基督徒,0代表非基督徒)
根据提示,在右侧编辑器补充代码,计算并输出这30个人开始的站位。
平台会对你编写的代码进行测试:
测试输入: 预期输出: (非正确答案,举例输出格式如下:)
101010101010101010101010101010
'''《幸运的基督徒》
有15个基督徒和15个非基督徒在海上遇险,
为了能让一部分人活下来不得不将其中15个人扔到海里面去,
有个人想了个办法就是大家围成一个圈,由某个人开始从1报数,
报到9的人就扔到海里面,他后面的人接着从1开始报数,
报到9的人继续扔到海里面,直到扔掉15个人。由于上帝的保佑,
15个基督徒都幸免于难,问这些人最开始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。
'''
def main():
# 请在此处添加代码 #
# *************begin************#
list1=list("1"*30)
people=0
dead=0
count=1
while dead<15:
people=people%30
if list1[people]=="1":
if count==9:
list1[people]="0"
dead+=1
count=1
else:
count+=1
people+=1
for i in range(30):
print(list1[i],end='')
# **************end*************#
if __name__ =='__main__':
main()