Python123(Python程序语言设计)——练习1:Python基本语法元素

 

实例1:温度转换

题目要求:

温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。转换算法如下:(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()获得测试用例输入时,不要增加提示字符串。

 

python代码实现:

#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)在python代码中,缩进是严格规定的,它是语法的一部分,一般用4个空格或1个Tab键的长度;

(2)python代码的注释:  

         1)单行注释:#..............

         2)多行注释:'''.................

                                 .................

                                 .................'''

(3)命名规则:例如TempStr,命名由大小写字母、数字、下划线、汉字等字符组合而成。在命名时,python语言对大小写时区分对待的,且首字符不能是数字,不能雨保留字相同。

(4)字符串

      字符串序号的正向和反向序号排列如下,正向从左开始,反向从右开始:

反向递减序号 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
字符串
正向递增序号 0 1 2 3 4 5 6 7 8 9 10 11

      1)字符串索引:例如代码中TempStr[-1], 具体格式是:

                                                          <字符串>[M]         

                               M是序号,功能是返回字符串中第M位的字符

      2)(拓展)字符串切片:格式如下:

                                                            <字符串>[M:N]

                                返回字符串中某一段字符子串。

例如:TempStr[0:-1]   :  取出其中第0、.........、不到最后一个的字符子串

(5)列表类型

             由0个或多个数据组成的有序序列,列表使用[]表示,采用逗号分隔各元素,在上述程序中出现:['F','f']、['C'、'c']均是列表类型。

(6)判断元素是否在类表中

            程序中的代码:  if TempStr[-1] in ['F','f']:

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

判断TempStr中的-1位置上的元素是否与列表中的某个元素相同。上述语句也是一种分支语句,若if中的条件是true,则执行冒号后的语句,否则跳过。

(7)函数

程序中:  input()、eval()、print()

(8)print()函数的格式化

  例如程序中:  print("转换后的温度是{:.2f}C".format(C))

上述是print函数的格式化格式,其中  {} 表示槽,后续变量填充到槽中,

                                                           {:.2f} 表示将变量C填充到这个位置时去小数点后2位。

 

实例2:温度转换||

题目要求:

温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。转换算法如下:(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()获得测试用例输入时,不要增加提示字符串。

 

python代码如下:

TempStr=input()
if TempStr[0] in ['F','f']:
    C=(eval(TempStr[1:])-32)/1.8
    print("C{:.2f}".format(C))
elif TempStr[0] in ['C','c']:
    F=1.8*eval(TempStr[1:])+32
    print("F{:.2f}".format(F))
else:
    print("输入格式错误")

 

代码分析:这个实例变形,是将表示摄氏温度和华氏温度的大写字母放到了开头,因此需要改变字符串索引和字符串切片的位置,

      字符串索引改变:

                                            TempStr[-1]————>TempStr[0]

                                            提取开头第一个字符,此处放的是F或C

     字符串切片改变:

   再次重新说明下字符串切片操作:

      定义:切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号[]、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片

               格式: [start:end:step]

  •  [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串;
  •  [start:] 从start 提取到结尾;
  • [:end] 此处提取从开头直到不包括end的前一个字符;
  • [start:end] 从start 提取到不包括end的前一个字符;
  •  [start:end:step] 从start 提取到不包括end的前一个字符,每step 个字符提取一个。 

 以下是几个特别的例子:

>>>number='ashdhnkknjjkokko'
#从-2位置开始到结尾对字符串进行截取
>>>number[-2:]
  'ko'

#从开头到结尾,步长为5
>>>number[::5]
'anjo'

#将字符串倒转(reserve),通常设置步长为负数:
>>>number[::-1]
'okkokjjnkknhdhsa'

故本题变形改成:

            TempStr[0:-1]———————>TempStr[1:]

 

        print格式化改变:

     也就是将C或F放到字符串的开头:

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

 

实例3:货币转换|

题目要求:

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

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

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

注意:

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

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

 

python代码实现: 

MoneyStr=input()
if MoneyStr[:3] in ['RMB']:
    USD=eval(MoneyStr[3:])/6.78
    print("USD{:.2f}".format(USD))
elif MoneyStr[:3] in ['USD']:
    RMB=eval(MoneyStr[3:])*6.78
    print("RMB{:.2f}".format(RMB))

 

参考代码:

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))

 

测试题目

Python123(Python程序语言设计)——练习1:Python基本语法元素_第1张图片

第3题应该选D

Python123(Python程序语言设计)——练习1:Python基本语法元素_第2张图片

Python123(Python程序语言设计)——练习1:Python基本语法元素_第3张图片

Python123(Python程序语言设计)——练习1:Python基本语法元素_第4张图片

Python123(Python程序语言设计)——练习1:Python基本语法元素_第5张图片

 

若涉及侵权,请联系,立即删除!!!!!!!!!!!!!!!

你可能感兴趣的:(python)