第1关:英制单位英寸与公制单位厘米互换
任务描述
本关任务:编写一个能实现单位英寸与公制单位厘米的互换的函数。
相关知识
为了完成本关任务,你需要掌握:1.if条件语句。
编程要求
根据提示,在右侧编辑器补充代码,实现单位英寸与公制单位厘米互换。 (1英寸 = 2.54厘米) 注:函数有两个参数,一个value值(代表长度),一个单位(in(英寸)或cm(厘米)),如单位是cm则直接输出单位为英寸的长度,如单位是in则直接输出单位为厘米的长度,如果单位不是cm或in,则输出‘请输入有效的单位’。结果保留两位小数。(本函数不需返回值)
测试说明
平台会对你编写的代码进行测试:
测试输入: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=='厘米'):
val=value/2.54
print("%.2f英寸"%val)
elif(unit=='in' or unit=='英寸'):
val=value*2.54
print("%.2f厘米"%val)
else:
print("请输入有效的单位")
# **************end*************#
value = input()
value = int(value)
unit = input()
cmin(value,unit)
第2关:百分制成绩转换为等级制成绩
任务描述
本关任务:编写一个能将百分制成绩转换为等级制成绩的函数。
相关知识
为了完成本关任务,你需要掌握:1.if条件语句。
编程要求
根据提示,在右侧编辑器补充代码,将百分制成绩转换为等级制成绩。 (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'
elif(score<60):
return 'E'
# **************end*************#
score = float(input())
grad = invert(score)
print(grad)
第3关:约瑟夫环问题
任务描述
本关任务:《幸运的基督徒》 有15个基督徒和15个非基督徒在海上遇险,为了能让一部分人活下来不得不将其中15个人扔到海里面去,有个人想了个办法就是大家围成一个圈,由某个人开始从1报数,报到9的人就扔到海里面,他后面的人接着从1开始报数,报到9的人继续扔到海里面,直到扔掉15个人。由于上帝的保佑,15个基督徒都幸免于难,问这些人最开始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。(用1代表基督徒,0代表非基督徒)
相关知识
为了完成本关任务,你需要掌握:1.if条件语句,2.列表操作。3.循环语句,4.函数定义及调用.
编程要求
根据提示,在右侧编辑器补充代码,计算并输出这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()