首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么当我试图运行我的代码时,我的“showing”表达式没有显示在这个场景中?

为什么当我试图运行我的代码时,我的“showing”表达式没有显示在这个场景中?
EN

Stack Overflow用户
提问于 2022-02-01 22:38:03
回答 1查看 41关注 0票数 0

在编码方面,我是个初学者。我试图在python上运行一个以公里为单位(用户输入)并以英里(输出)返回的程序。我知道如何完成这个任务,但是我想通过使用if语句来检查用户是否输入了一个数字来挑战自己:

代码语言:javascript
运行
复制
Kilometers = input("Please insert number of Kilometers: ")
if type(Kilometers) == int or float:
    print("This is equivalent to", float(Kilometers)/1.609344, "Mile(s)")
else:
    print("This is not a number")

我知道,不管用户输入的是什么,都会被保存为字符串。但是,每当我运行代码时,程序总是尝试将输入转换为英里数。

我在if语句中指定,类型必须等于浮点或int,所以在我将第一行更改为:

代码语言:javascript
运行
复制
Kilometers = float(input("Please insert number of Kilometers: "))

代码语言:javascript
运行
复制
Kilometers = int(input("Please insert number of Kilometers: "))
EN

Stack Overflow用户

回答已采纳

发布于 2022-02-01 22:59:17

在用Python编写if语句时,必须完全重写每个条件。例如,您可以编写if type(Kilometers) == int or type(Kilometers) == float而不是if type(Kilometers) == int or float。代码中另一件重要的事情是,如果有人输入5.5,您将期望一个浮点值,但是Python将其解释为一个字符串。为了避免这种情况,可以使用以下try/except子句:

代码语言:javascript
运行
复制
Kilometers = input("Please insert number of Kilometers: ")
try:
    Kilometers = float(Kilometers)
    print("This is equivalent to", Kilometers/1.609344, "Mile(s)")
except ValueError:
    print("This is not a number")

这是在尝试将Kilometers设置为浮点数类型,如果用户输入一个不能解释为浮点数的字符串,它将导致一个ValueError,然后运行except中的代码。您可以在这里找到关于try/here子句的更多信息:Python除了- W3Schools

我注意到的另一件事是,您应该根据标准命名约定命名变量,因此Kilometers应该是kilometers。您可以在这里找到更多关于命名约定的信息:PEP 8

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70948462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档