温度转换问题

一、温度转换

  目前有两种表示温度的方法一种是摄氏度另一种是华氏度,摄氏度的结冰点为0度,沸点为100度将温度等分刻画,华氏度的结冰点为32度,沸点为212度将温度进行等刻度划分。

  现需要将按格式输入的摄氏度转换为华氏度,将输入的华氏度转换为摄氏度。

二、问题分析

  根据IPO的分析方法可将问题划分成以下步骤:

  输入:带有摄氏或华氏的温度值

  处理:根据温度标志选择相对应的转换算法

  输出:带有华氏或摄氏的温度值

  标识放在温度最后,F表示华氏度,C表示摄氏度;

  摄氏和华氏的温度转换公式如下:

  F = C * 1.8 + 32

  C = ( F - 32 ) / 1.8

三、程序编写

 #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语法的一部分,缩进不正确程序则会运行错误,并且使代码间包含和层次关系的唯一手段,缩进一般用四个空格或者一个TAB键。

  2.注释用#表示,多行注释以‘’‘开始以’‘’结尾

  3.命名与保留字

    命名规则 : 大小写字母、数字、下划线和中文等字符以及他们的组合

    注意:大小写敏感。首字母不能是数字,并且不与保留字相同

    保留字:是被编程语言内部定义并保留的标识符,python一共有33个保留字,保留字如下:

  4.数据类型

    本程序涉及到的数据类型包括整数类型、字符串类型、列表类型、浮点类型。

    整数类型:101110111

    字符串类型:“10,011,100”

    列表类型:[10, 011, 101]

    字符串由一对单引号或者一对双引号表示,字符串是字符的有序序列,可以对其中的字符进行索引

  字符串可以进行索引,并返回单个的字符串,例如程序中的TempStr[-1],即返回字符串的最后一位。同时字符串也可以进行切片操作,将返回字符串中一段字符串。例如程序中的TempStr[ 0 : -1 ],即返回字符串的第一个到最后一个之前的字符串。

  列表类型是由0个或多个数据组的有序序列

  列表使用[ ]表示,采用逗号分隔元素,例如:['F' , 'f']

  5.应用的函数

  input函数获取用户输入的函数,并且用户输入的信息以字符串类型保存在<变量>中,例如程序中TempStr = input ("请输入") #TempStr保存用户输入的信息。

  print({:.2f}.format(C))表示输出保留小数点后两个字符。

  eval函数表示去掉参数最外侧引号并执行余下语句的函数

  例如程序中:

python 学习总结2的更多相关文章

  1. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  2. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  3. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  4. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  5. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

  6. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  7. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  8. [Python] 学习资料汇总

    Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...

  9. Python学习之路【目录】

    本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...

  10. python学习笔记系列----(八)python常用的标准库

    终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...

随机推荐

  1. 第一篇 .NET高级技术之索引器

    基础知识补充 索引 器 没有名字 ,索引器的内部本质 (ILSpy的IL模式下看)类型 this[参数]{get;set;} 可以是只读或者只写(在get或者set前加上private) 字符串是只读 ...

  2. Failed to convert property value of type 'java.util.LinkedHashMap' to required type 'java.util.Map' for property 'filters'

    在使用shiro的自定义filter出现的问题 <property name="filters"> <util:map> <entry key=&qu ...

  3. JMeter配置JDBC测试SQL Server/MySQL

    一.配置SQL Server 1.下载sql驱动,将sqljdbc4.jar放到JMeter安装目录/lib下. 2.启动JMeter,右键添加->配置文件->JDBC Connectio ...

  4. bzoj 4542 [Hnoi2016]大数 (坑)

    题面 https://www.lydsy.com/JudgeOnline/problem.php?id=4542 题解 Code #include<bits/stdc++.h> using ...

  5. Lightoj 1044 - Palindrome Partitioning (DP)

    题目链接: Lightoj  1044 - Palindrome Partitioning 题目描述: 给一个字符串,问至少分割多少次?分割出来的子串都是回文串. 解题思路: 先把给定串的所有子串是不 ...

  6. Retrofit Upload multiple files and parameters

    Retrofit 的介绍以及基本使用 这里不再说明. 关于多文件上传 以及上传文件的同时携带多个参数说明 网上涉及到的不是太多. 上一张帅图: 代码: apiService: /** params 参 ...

  7. LN : leetcode 746 Min Cost Climbing Stairs

    lc 746 Min Cost Climbing Stairs 746 Min Cost Climbing Stairs On a staircase, the i-th step has some ...

  8. poj2184 Cow Exhibition

    思路: dp+滚动数组. 类似01背包. 实现: #include <iostream> #include <cstdio> #include <algorithm> ...

  9. 【学习笔记】OSG 基本几何图元

    例:geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4)); 来指定要利用这些数据生成一个怎么样的形状. ...

  10. XDroidMvp 轻量级的Android MVP快速开发框架

    XDroidMvp是XDroidAndroid快速开发框架的MVP版本,其使用方式类似于XDroid,大部分源码也来自XDroid. XDroidMvp主要会有这些特性: 无需写Contract! 无 ...