网站首页 > 基础教程 正文
这里有一个很好的练习,让你巩固所学的知识。我希望你写一个体重转换程序像这样,所以这个程序要求我输入我的体重,我输入170。接下来它问我体重是以千克还是磅为单位,我可以输入k表示千克或者l表示磅,小写的l或者大写的l都可以,没关系的。
那么我们来用小写的l,现在告诉我体重是76.5公斤。那就开始花5分钟来做这个练习,你可以在下面的评论框里分享你的代码,然后当你做完了再回来看我的解决方案。
·首先调用输入函数来询问第一个问题,体重。得到结果并将其存储在一个叫做体重的变量中。
·接下来再调用一次输入函数来询问第二个问题,这是以千克为单位吗?还是磅?得到结果并储存在一个叫unit的变量里,这就是将要用到if语句的地方。所以想要检查一下unit是否等于大写的K。
·然后应该把重量转换成磅并在终端上打印出来。不过用这段代码,如果我输入一个小写的k,这个条件是不会成立的。因为我之前告诉过你,Python是区分大小写的语言,所以需要把这个字符串转换成大写形式。
·之前讨论过字符串方法,所以如果你输入一个点,就能看到所有在字符串对象中可用的函数或方法。于是使用upper方法,这将返回一个新的大写形式的字符串。
·现在如果这个条件成立,首先需要把重量转换成磅,所以声明一个新变量叫做转换后的,获取重量并除以0.45。
·然后可以在终端上打印这个值,所以磅制的重量是,然后加上转换后的值。
·要结束这段代码块,按下shift和tab或者冒号。所以如果这个条件不成立,那意味着输入的重量是以磅为单位,所以需要把它转换成千克。
·再次声明一个变量叫做转换后的,将它设置为重量乘以0.45。
·然后打印千克制的重量,并将这个字符串与转换后的字符串连接起来。
·现在需要结束这个代码块,所以按下回车,然后shift和tab,很好。
·现在如果运行这个程序会看到一个错误,让我给你看看。开始运行,输入170,然后输入小写的l,这里出错了,不能把序列乘以非整型浮点数,所以这就是得到这个错误的地方。
·当尝试用0.45乘以体重时,所以这就是代码中的第7行。
·现在发生这种情况是因为体重变量存储的是一个字符串对象,因为之前告诉过input函数总是返回一个字符串,所以需要把体重转换成一个数字,可以使用int或者float函数。
·再次运行程序,所以以磅为单位的170,这里是第二个错误,只能把字符串连接起来,而不是浮点数与字符串。
·而错误发生在这里,当尝试打印重量的公斤数时,所以请看第7行。在这种情况下重量是一个整数,正在将一个整数乘以一个浮点数,这个操作的结果将是一个浮点数。
·现在在第8行试图将一个字符串与一个浮点数连接或结合起来,Python不知道如何执行这段代码。为了解决这个问题,需要将这个浮点数转换为一个字符串,所以在这里使用了内置的stir函数。
·运行程序看看会发生什么,所以170英磅,这里是我的公斤重量。
·现在尝试输入一个公斤重量,所以再来一次,假设是76公斤,在这里遇到了一个熟悉的错误,只能将字符串连接到字符串上,不能连接到浮点数上,所以这个错误发生在第5行,尝试将一个字符串连接到一个浮点数上,所以再次需要将这个转换为一个字符串对象。
·现在再次运行这个程序,76公斤等于168磅。
点击关注。
- 上一篇: 20天轻松入门《C++第四章——函数》——4经坛教育
- 下一篇: 详解JavaScript函数
猜你喜欢
- 2025-03-12 C语言指针专题第11讲:结构体指针
- 2025-03-12 Go语言-变量
- 2025-03-12 C语言50个函数
- 2025-03-12 PyTorch架构优化库torchao正式发布,可大幅提升AI模型效率
- 2025-03-12 C++学习笔记——调用函数
- 2025-03-12 python散装笔记——148:不可变类型int float str tuple和frozenset
- 2025-03-12 计算机是如何表示浮点数的
- 2025-03-12 Python 学习必修课:轻松掌握输入输出与数据类型转换
- 2025-03-12 4000字详细说明,推荐20个好用到爆的Pandas函数方法
- 2025-03-12 NCRE全国计算机等级考试二级Python-100填空题【带解析】
- 03-12Java程序员Python学习指南(中篇)
- 03-12从IO到NIO:Java数据传输的进阶之路
- 03-12智能库存管理系统:让仓库管理变得简单高效
- 03-12java IO知识体系
- 03-12还不理解 Error 和 Exception 吗,看这篇就够了
- 03-12在Java里如何读取文件
- 03-12FileReader
- 03-12C语言指针专题第11讲:结构体指针
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)