头歌python实训通关四——分支结构

第1关:英制单位英寸与公制单位厘米互换

任务描述

本关任务:编写一个能实现单位英寸与公制单位厘米的互换的函数。

相关知识

为了完成本关任务,你需要掌握:1.if条件语句。

编程要求

根据提示,在右侧编辑器补充代码,实现单位英寸与公制单位厘米互换。 (1英寸 = 2.54厘米) 注:函数有两个参数,一个value值(代表长度),一个单位(in(英寸)或cm(厘米)),如单位是cm则直接输出单位为英寸的长度,如单位是in则直接输出单位为厘米的长度,如果单位不是cm或in,则输出‘请输入有效的单位’。结果保留两位小数。(本函数不需返回值)

测试说明

平台会对你编写的代码进行测试:

测试输入:3cm; 预期输出:1.18英寸

测试输入:3厘米; 预期输出:1.18英寸

测试输入:5in; 预期输出:12.70厘米

测试输入:5英寸; 预期输出:12.70厘米

测试输入:5tt; 预期输出:请输入有效的单位

"""
英制单位英寸和公制单位厘米互换
"""
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()

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值