第一周作业、复习题

原创
2019/04/09 23:58
阅读数 460

1.4 python语法元素小结

缩进:表达语句间的层次关系和包含关系

注释:程序员在代码中写的辅助性信息,并不被计算机所执行

命名:被变量关联标识符的过程

变量:用来表示数据值的占位符

保留字:计算机程序语言中默认保留下来,由程序自身使用的一些信息

在python语言中一共由33个保留字,在本课程中需要掌握26个保留字

 

数据类型:字符串、整数、浮点数、列表

 

赋值语句 =

分支语句 if elif else

函数 input print eval in 等

 

Input()输入函数

print() 输出函数

Eval() 评估函数

Print() 格式化(输出函数格式化)

 

 

实例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

【参考代码】

#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 !

描述

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

输出Hello World,注意大小写。

输入

输出

Hello World

【参考代码】

print('Hello World')

这里提供的都是参考代码,实现程序功能的可能之一。这个程序太简单,不解释。

 

 

习题:数字形式转换

描述

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

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

【参考代码】

#TempConvert.py

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 = 1.8*eval(TempStr[1:]) + 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

【参考代码】

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输出小数点后两位。

 

野兔

2019.4.9

1.4 python语法元素小结
[1.4 Python yǔfǎ yuánsù xiǎojié]
1.4 Python syntax element summary
 
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部