【Python123】练习1: Python基本语法元素 (第1周)
实例1: 温度转换
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
- 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;
- 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指华氏度87.65度;
- 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;
- 使用input()获得测试用例输入时,不要增加提示字符串。
输入示例1
12.34C
输出示例1
54.21F
输入示例2
87.65F
输出示例2
54.21F
我的解答
t = input(); # 分号是错的
if t[-1] in ['F', 'f']:
c = ( eval(t[0:-1]) - 32 ) / 1.8
print("{:.2f}C".format(c))
elif t[-1] in ['C', 'c']:
f = eval(t[0:-1]) * 1.8 + 32
print("{:.2f}F".format(f))
else:
print("输入格式错误")
总结
- 第一句打了
分号,Python不需要分号!!! - 不注意
缩进导致代码逻辑错误 - 忘记将字符串转换为数值直接做运算,
eval() print()格式输出,把中间的小数点打成逗号- 还是
print(),把C写到双引号外面 if后面忘记加分号
温度转换 II
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
- 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
- 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指华氏度87.65度;
- 不考虑异常输入的问题,输出保留小数点后两位;
- 使用input()获得测试用例输入时,不要增加提示字符串。
输入示例1
C12.34
输出示例1
F54.21
输入示例2
F87.65
输出示例2
C30.92
我的解答
t = input()
if t[0] == 'F':
c = (eval(t[1:len(t)]) - 32) / 1.8
print("C{:.2f}".format(c))
elif t[0] == 'C':
f = eval(t[1:len(t)]) * 1.8 + 32
print("F{:.2f}".format(f))
总结
Python3字符串可以在分号内冒号来实现取部分,[1:]表示从下标为1,即第二个元素开始,而[1:len(t)]的冒号后面的标示到len(t)下标结束,但不包括这个下标,打印范围是[1,len-1]
标准答案中是没有len(),省略则表示一直打印到末尾
在下一段代码出现了这一个用法
money = input()
if money[0:3] == "RMB":
USD = eval(money[3:]) / 6.78
print("USD{:.2f}".format(USD))
elif money[0:3] == "USD":
RMB = eval(money[3:]) * 6.78
print("RMB{:.2f}".format(RMB))
【Python123】练习1: Python基本语法元素 (第1周)的更多相关文章
- Python123——测验1: Python基本语法元素 (第1周)程序题2总结
一.题目 二.解析 (1)官方解析 (2)个人解析 def m1(): """ 法1:暴力破解""" s1 = input('') s2 = ...
- 003 Python基本语法元素
目录 一.概要 1.1 方法论 1.2 实践能力 一.概要 程序设计基本方法:https://www.cnblogs.com/nickchen121/p/11164043.html Python开发环 ...
- 第二章 python基本语法元素
python有两种编程方式,交互式和文件式. 交互式:对每个输入语句即时运行结果------适合语法练习 文件式:批量执行一组语句并运行结果------编程的主要方式 实例1:圆面积的计算(根据半径r ...
- 第一章 Python基本语法元素
1.1 程序设计基本方法 计算机的概念: (1)功能性:对数据的操作,表现为数据计算.输出输出处理和结果存储等 (2)可编程性:根据一系列指令自动地.可预测地.准确地完成操作者的意图. 计算机的发 ...
- Python基本语法元素
静态语言(C/C++.Java):脚本语言(python.JavaScript.PHP) IPO(Input.Process.Output) #:python中的注释符号:''' ''':多 ...
- 《Python语言程序设计》【第1周】Python基本语法元素
实例:温度转化 #TempConvert.py 单行注释 ''' TemConvert.py ''' # 多行注释 TempStr = input("请输入带有符号的温度值: ") ...
- 一、python基本语法元素(温度转换)
#C=(F-32)/1.8 ; F = C * 1.8 + 32 TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in ['f','F ...
- 008 Python基本语法元素小结
目录 一.概要 二.保留字 三.温度转换 一.概要 缩进.注释.命名.变量.保留字 数据类型.字符串. 整数.浮点数.列表 赋值语句.分支语句.函数 input().print().eval(). p ...
- python学习笔记(11)--测验3: Python基础语法(下) (第7周)
斐波那契数列计算 B 描述 斐波那契数列如下: F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2) 编写一个计算斐波那契数列的函数,采用递归方式,输出不超过n的所有斐波 ...
随机推荐
- 3k+2形式的素数相关的两个命题的证明
- MyBatis学习总结(一)——MyBatis入门学习
一.MyBatis 简介 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可 ...
- ThreadLocal原理简单刨析
ThreadLocal原理简单刨析 ThreadLocal实现了各个线程的数据隔离,要知道数据是如何隔离的,就要从源代码分析. ThreadLocal原理 需要提前说明的是:ThreadLocal只是 ...
- Tars | 第5篇 基于TarsGo Subset路由规则的Java JDK实现方式(上)
目录 前言 1. 修改.tars协议文件 1.1 Go语言修改部分 1.2 修改地方的逻辑 1.3 通过协议文件自动生成代码 2. [核心]增添Subset核心功能 2.1 Go语言修改部分 2.2 ...
- Pytest 系列(29)- 详解 allure.dynamic 动态生成功能
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 @allure.title ...
- MongoDB(14)- 查询 null 字段或缺少某个字段的文档
插入测试数据 db.inventory.insertMany([ { _id: 1, item: null }, { _id: 2 } ]) 后面的栗子都会用到这里的测试数据 查询匹配包含值为 nul ...
- Linux - last 命令(Mac 电脑)
前言 为啥写这篇? 因为听 grep.sed 教程的时候有这个命令栗子 加上工作中,运维给我排查问题的时候也用到了,感觉挺重要,先了解为敬! 命令作用 显示用户和TTY的最后登录次数 这个是在 Mac ...
- liquibase新增字段注释导致表格注释同时变更bug记录
liquibase是一个用于数据库变更跟踪.版本管理和自动部署的开源工具.它的使用方式方法可以参考官方文档或者其他人的博客,这里不做过多介绍. 1. 问题复现 在使用过程中发现了一个版本bug.这个b ...
- Spring Boot学习(一)——Spring Boot介绍
Spring Boot介绍 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式 ...
- activemq启动错误UnsupportedClassVers rg/apache/activemq/console/Main:Unsupported major.minor version52.0
ActiveMQ与java的JDK是有版本对应匹配的. 下面提供一个匹配图: MQ版本号 Build-Jdk 依赖JDKapache-activemq-5.0.0 1.5.0_12 1.5+apach ...