美文网首页
MOOC_Python语言程序设计(嵩天)课后练习_第一周

MOOC_Python语言程序设计(嵩天)课后练习_第一周

作者: 那会年少 | 来源:发表于2020-03-02 10:54 被阅读0次

    以下内容仅用作个人学习记录

    程序设计题

    实例1: 温度转换

    描述

    这是"实例"题,与课上讲解实例相同,请作答检验学习效果。

    温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。

    请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。

    转换算法如下:(C表示摄氏度、F表示华氏度)

    C = ( F - 32 ) / 1.8

    F = C * 1.8 + 32

    要求如下:

    (1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;

    (2) 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指华氏度87.65度;

    (3) 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;

    (4) 使用input()获得测试用例输入时,不要增加提示字符串。

    输入

    示例1:12.34C

    示例2:87.65F

    输出

    示例1:54.21F

    示例2:30.92C

    代码

    TempStr = input()

    if TempStr[-1] in ['F','f']:

        C = (eval(TempStr[0:-1])-32)/1.8

        print("{:.2f}C".format(C))

    elif TempStr[-1] in ['C','c']:

        F = eval(TempStr[0:-1])*1.8 + 32

        print("{:.2f}F".format(F))

    else:

        print("输入格式错误")

    【参考代码】

    #TempConvert.py

    TempStr=input()

    if  TempStr[-1]  in  ['F','f']:

        C=(eval(TempStr[0:-1])-32)/1.8

        print("{:.2f}C".format(C))

    elif  TempStr[-1]  in  ['C','c']:

        F=1.8*eval(TempStr[0:-1])+32

        print("{:.2f}F".format(F))

    else:

        print("输入格式错误")

    这是本课程的实例1,请注意两点:

    (1) 将输入字符串转换为数字时使用eval()函数,不要用int()函数,因为输入的数字可能不是整数;

    (2) 采用{:.2f}将输出数字变成两位小数点表示时,即使数学上该输出值是整数,也会按照小数方式输出,例如,转换后温度为10度,输出为10.00。

    Hello World I

    描述

    这是学习每种程序设计语言的第一个实例。

    输出Hello World,注意大小写。

    输入

    输出

    Hello World

    代码

    print("Hello World")

    数字形式转换 I

    描述

    获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。

    0到9对应的中文字符分别是:零一二三四五六七八九

    输入输出示例

                         输入                                 输出

    示例 1

                         123                                  一二三

                          9876543210                  九八七六五四三二一零

    代码

    template = "零一二三四五六七八九"

    s = input()

    for c in s:

        print(template[eval(c)], end="")

    print()中增加end=""参数表示输出后不增加换行,多个print()可以连续输出。

    温度转换 II

    描述

    温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。

    请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。

    转换算法如下:(C表示摄氏度、F表示华氏度)

    C = ( F - 32 ) / 1.8

    F = C * 1.8 + 32

    要求如下:

    (1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;

    (2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指华氏度87.65度;

    (3) 不考虑异常输入的问题,输出保留小数点后两位;

    (4) 使用input()获得测试用例输入时,不要增加提示字符串。

    输入

    示例1:C12.34

    示例2:F87.65

    输出

    示例1:F54.21

    示例2:C30.92

    代码

    TempStr = input()

    if TempStr[0] in ['F']:

        C = (eval(TempStr[1:]) - 32)/1.8

        print("C{:.2f}".format(C))

    elif TempStr[0] in ['C']:

        F = eval(TempStr[1:])*1.8+32

        print("F{:.2f}".format(F))

    else:

        print() #不输入任何错误提示

    这个实例扩展自实例1,请注意以下三点:

    (1) 将输入字符串转换为数字时使用eval()函数,不要用int()函数,因为输入的数字可能不是整数;

    (2) 采用{:.2f}将输出数字变成两位小数点表示时,即使数学上该输出值是整数,也会按照小数方式输出,例如,转换后温度为10度,输出为10.00;

    (3) TempStr[1:]表示字符串除首字符外的所有字符。

    货币转换 I 

    描述

    人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:

    人民币和美元间汇率固定为:1美元 = 6.78人民币。

    程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。

    注意:

    (1) 这是一个OJ题目,获得输入请使用input() ;

    (2) 不提示输出格式错误,结果小数点后保留两位。

    输入

    示例1:RMB123

    示例2:USD20

    输出

    示例1:USD18.14

    示例2:RMB135.60

    代码

    Money = input()

    if Money[0:3] in ["RMB"]:

        USD = eval(Money[3:])/6.78

        print("USD{:.2f}".format(USD))

    elif Money[0:3] in ["USD"]:

        RMB = eval(Money[3:])*6.78

        print("RMB{:.2f}".format(RMB))

    else:

        print()

    【参考代码】

    CurStr=input()

    if CurStr[:3] == "RMB":

        print("USD{:.2f}".format(eval(CurStr[3:])/6.78))

    elif CurStr[:3] in ['USD']: 

         print("RMB{:.2f}".format(eval(CurStr[3:])*6.78))

    这个代码是实例1的一个扩展,注意以下3点:

    (1) eval()函数将字符串转换成数字,不能省略;

    (2) == 表示 "等于",in 表示成员包含,对于这个题目,由于只允许输入采用全大写方式,两种方法均可;

    (3) :.2f输出小数点后两位。

    相关文章

      网友评论

          本文标题:MOOC_Python语言程序设计(嵩天)课后练习_第一周

          本文链接:https://www.haomeiwen.com/subject/wphpkhtx.html