计算机二级Python学习笔记(一):温度转换
今天通过一个温度转换的十行代码,理解了一些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("输入格式错误")
只有十行,但还是看不懂?没关系,我开始也不懂,接下来我逐行梳理一遍,感兴趣的话也可以和我从这十行代码开始,了解一些Python的基本元素。
第1行 #TempConvert.py
这行是注释,只是为了提高代码的可读性,不参与代码的执行。
python的注释有两种,单行注释使用#,多行注释可以使用在注释内容前后用三个单引号来实现。
第2行 TempStr = input("请输入带有符号的温度值:")
其中TempStr是一个变量,通过“=”来进行赋值。变量命名规则首字符不能是数字,不能和保留字符相同,区分大小写。
input()是输入函数,获取用户输入的信息,用户输入的信息以字符串的形式保存在<变量>中。
双引号里面的是字符串,这里作用是程序的提示符。
结合起来看,就是显示一段提示文字,然后要输入一个带符号的温度值,以字符串的形式赋值给TempStr。
第3行 if TempStr[-1] in ['F','f']:
if是分支语句,python的分支语句除了if还有elif,else。它们后面都要带一个冒号,这是语法的一部分。
方括号代表数据类型是列表类型,关于数据类型还有整数类型和字符串类型。
-1代表字符串的序号,-1指的字符串的最后一位,关于字符串序号,可以参考下图:
in也是保留字符,用来判断是否在列表中。
结合起来理解,这行代码的意思是,如果变量TempStr中的最后一位,包含F或f,也就是单位是华氏度时,那么就执行下面的代码。
第四行 C = (eval(TempStr[0:-1])-32)/1.8
其中C也是变量,需要将计算的结果赋值给C。
[0:-1]代表字符串的切片,表示的意思是从字符串第一位,到不包含最后一位。也就是提取了单位前的数字。
eval()函数用来执行计算表达式,可以实现去除字符串两边的引号。由于上面是字符串的切片,提取的是一个字符串,去掉两边引号后就可以参与到后面的计算了。
结合起来看,就是将华氏度的数值,通过公式的计算,结果返回给C。
第五行 print("转换后的温度值是:{:.2f}C".format(C))
print()是输出函数,以字符串形式将结果显示出来。
{:.2f}代表保留两位小数,{}代表槽,后续的变量将会引入到这里。这里是将.format(C)中C变量引入进来,也就是第四行计算出的值。
结合来看,就是输出计算后的摄氏温度的值。
第6~10行代码,除了简单的分支语句的区别,其它的在上面都有涉及,主要就是当判断输入为华氏度时,计算输出摄氏度。以及格式不对的情况下显示的字符串。
这样一梳理,十行代码就清晰多了。今天还做了几道习题巩固了一下,说是举一反三,实际上是搞懂了三,才对这个一理解更深刻一些。
关于温度转换问题就聊到这里吧,据说明天又要降温了,大家注意保暖。
计算机二级Python学习笔记(一):温度转换的更多相关文章
- Deep learning with Python 学习笔记(10)
生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...
- 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Python学习笔记(六)
Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...
- 【python学习笔记】3.字符串使用
[python学习笔记]3.字符串使用 字符串是一种序列,素有标准的序列操作对字符串用样适用,字符串是不可以改变 格式化操作符,%,左侧是格式化字符串,右侧是被格式的值,可以是一个值.元组.字典 数值 ...
- Python学习笔记九
Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- python学习笔记(二)、字符串操作
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...
- python学习笔记目录
人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...
随机推荐
- 升级到WLS2
WLS2相对WSL1有重大改变,其中最重要的是subsystem linux可以说是真正意义上的linux发行版了,当然也提升了i/o性能. 1. 升级windows WSL 2 is only av ...
- Chapter Zero 0.2.2 内存
目录 内存 内存的多通道设计 DRAM 和 SRAM 只读存储器(ROM) RAM.ROM以及硬盘的区别(转自百度) 内存 CPU的数据都是来自主存储器(main memory),个人计算机的主寄存器 ...
- 近期做的一些DP
UVa 1625 color length https://blog.csdn.net/Dylan_Frank/article/details/52261424 https://www.cnblogs ...
- bzoj5312 冒险(吉司机线段树)题解
题意: 已知\(n\)个数字,进行以下操作: \(1.\)区间\([L,R]\) 按位与\(x\) \(2.\)区间\([L,R]\) 按位或\(x\) \(3.\)区间\([L,R]\) 询问最大值 ...
- 2019牛客多校第二场F Partition problem(暴搜)题解
题意:把2n个人分成相同两组,分完之后的价值是val(i, j),其中i属于组1, j属于组2,已知val表,n <= 14 思路:直接dfs暴力分组,新加的价值为当前新加的人与不同组所有人的价 ...
- Kafka 博文索引
博文索引 KafkaBroker 简析 KafkaConsumer 简析 KafkaProducer 简析 KafkaMirrorMaker 的不足以及一些改进 Kafka 简介 数据是系统的燃料,系 ...
- [转]C# web 读取Excel文件
项目中总是遇到要整理基础数据的问题,少量的数据还好说,如果数据量大的话,这无疑会增加项目开发的用时,拖延交期. 那么我们会让客户自己去整理基础数据,但是问题是,客户整理的数据怎写入系统呢?我们一般会采 ...
- TypeScript 4.x Tutorials
TypeScript 4.x Tutorials TypeScript 4.x 最新教程 https://typescript-4x-tutorials.xgqfrms.xyz/ https://gi ...
- ES2015 (ES6) 新特性: 20 个
ES2015 (ES6) 新特性 http://babeljs.io/docs/learn-es2015/ Learn ES2015 A detailed overview of ECMAScript ...
- Android 如何设置 WebView 的屏幕占比
Android 如何设置 WebView 的屏幕占比 由于 Android 适用于具有各种屏幕尺寸和像素密度的设备,因此您在设计网页时应将这些因素纳入考虑范围,以便您的网页始终以合适的尺寸显示. We ...