首页 > 编程问答 >尝试舍入小数点时的小数文字无效

尝试舍入小数点时的小数文字无效

时间:2024-08-09 15:29:48浏览次数:14  
标签:python basic

学习 Python 的第一个月,所以放轻松。

我的代码有问题,我的程序是将测量值从米转换为英寸、英尺和英里。以英里为单位的答案大约有 9 位小数,所以我只想显示前 5 位。但我收到错误“无效的十进制文字”。

我在另一个程序中对圆的半径使用了类似的格式:

Pi = 3.14  
r = float(input('What is the Radius of the Circle? ')) 
a = Pi * r * r 
print(f" area = {a:.3f}") 

效果很好。但这里:

measurement = float(input("What is Your Measurement?: "))

#First to inches / 1m = 39.37in
print(float(39.37)*measurement)

#Then to feet / 1m = 3.28084f
print(float(3.28084)*measurement)

#Then to miles / 1m = 0.00062137mi
print(float(0.00062137)*measurement:.4f)

运气不好。有什么想法吗?


错误发生是因为你试图在浮点文字上使用格式设置切片 ( .4f ),而不是使用 print 函数的输出。

以下是修复代码的方法:

measurement = float(input("What is Your Measurement?: "))

#First to inches / 1m = 39.37in
print(float(39.37)*measurement)

#Then to feet / 1m = 3.28084f
print(float(3.28084)*measurement)

#Then to miles / 1m = 0.00062137mi
print(f"{(float(0.00062137)*measurement):.4f}") # 将格式设置切片移动到 f 字符串内

通过将 (float(0.00062137)*measurement):.4f 包裹在 f 字符串中,你告诉 Python 对表达式的结果进行格式化,而不是对其本身进行格式化。

以下是一些额外的提示:

  • 你不必在你的代码中反复使用 float() 。当你将一个浮点数乘以另一个数字时,结果将自动是一个浮点数。
  • 你可以考虑为英里到米的转换比率创建一个变量,以使你的代码更易于阅读。

以下是代码的改进版本:

measurement = float(input("What is Your Measurement?: "))

# Conversions
meters_to_inches = 39.37
meters_to_feet = 3.28084
meters_to_miles = 0.00062137

# Calculations and output
print(f"{meters_to_inches * measurement:.2f} inches")
print(f"{meters_to_feet * measurement:.2f} feet")
print(f"{meters_to_miles * measurement:.4f} miles")

此代码更简洁、更易于阅读和理解。

标签:python,basic
From: 78851654

相关文章

  • 为什么 True/False 在 Python 中要大写?
    所有成员都是骆驼案吧?为什么True/False而不是true/false,哪个更宽松?在Python中,True和False使用大写而不是小写,这与语言的禅宗(设计原则)和它们在Python中的特殊地位有关。让我们来分析一下:1.特殊地位:在Python中,True和False......
  • 如何使用 Python 从 Excel 工作表中读取正斜杠
    我有20多列的Excel工作表,如果我想选择不包含文本n/a的行,是否可以将n/a作为文本传递并找到它?我尝试过的代码是,''''将pandas导入为pd进口重新导入操作系统defextract_data(input_file):#读取输入的Excel文件df=pd.read_excel(input_file)#Checkif'......
  • 零基础学习人工智能—Python—Pytorch学习(三)
    前言这篇文章主要两个内容。一,把上一篇关于requires_grad的内容补充一下。二,介绍一下线性回归。关闭张量计算关闭张量计算。这个相对简单,阅读下面代码即可。print("============关闭require_grad==============")x=torch.randn(3,requires_grad=True)print(x)x.requir......
  • python配置pip镜像
    Python配置pip的镜像国内的网络通过pip下载软件包只有不到10k的下载速度。不仅下载的慢,还容易引发超时错误,导致下载失败。而将给pip配置国内的镜像源可以完美的解决这个问题。本文讲解了pip在windows和macos/linux的配置过程(在windows实操成功)一、找到配置文件1.windows在......
  • Pytorch深度学习入门基础(三):python 加载数据初认识
    目录 一、 导入二、数据集中数据和label的组成形式三、Dataset读入数据四、Dataset类代码实战4.1创建函数4.2  设置初始化函数4.3读取每一个图片4.4设置获取数据长度函数4.5创建实例4.5.1单个图片数据集4.5.2 多个图片数据集    现在来开......
  • python多版本共存和虚拟环境
    多版本共存1.调用方式"py-3.10",即可使用对应版本的python虚拟环境1.vscode底部切到CMD,敲"py-3.8-mvenv.venv"(虚拟环境文件夹名,通常用".venv")2.点击vscode右下角,选择虚拟环境作为解释器注:以"."开头的文件在计算机系统中通常被称为隐藏文件。这些文件在许多操作系统中默认是不......
  • Python练习:数据类型篇
    一、逻辑推理练习  1、在不运行下面程序的前提下,说出答案。 1.4.0==42."4.0"==43.bool("1")4.bool("0")5.str(32)6.int(6.26)7.float(32)8.float("3.21")9.int("434")10.int("3.42")11.bool(-1)12......
  • MySQL——使用Python操作MySQL
    文章目录安装PyMySQL使用PyMySQL操作MySQL在Python中操作MySQL数据库时,我们使用较多的库是PyMySQL,如果你选择使用PyMySQL库,那么首先需要通过pip安装它。pipinstallpymysql命令就是用来安装PyMySQL的。安装PyMySQL1.打开你的命令行工具(如cmd、PowerShell、......
  • Python按条件删除Excel表格数据的方法
      本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。  其中,Ex......
  • Python 提取出SQL语句中Where的值的方法
    1.方法一:使用sqlparse库的方法为了提取SQL语句中WHERE子句的值,我们可以利用Python的sqlparse库,这是一个专门用于解析SQL语句的库。以下是一个示例代码,演示如何使用sqlparse来提取WHERE子句中的条件。首先,确保安装了sqlparse库。如果未安装,可以使用pip安装:bash复制代码pipins......