如何使用 Python 中的输入输入整数[重复]

2025-02-28 08:22:00
admin
原创
51
摘要:问题描述:我正在尝试自学如何用 Python 编写代码,这是我第一次在 Stack Overflow 上发帖,所以如果本文有任何不当之处,请多多包涵。不过让我们开始吧。我正在尝试使用 input 命令返回一个整数。我也做了研究,因此下面是我在 Python 3.4 中的多次尝试以及随后的结果:尝试#1gues...

问题描述:

我正在尝试自学如何用 Python 编写代码,这是我第一次在 Stack Overflow 上发帖,所以如果本文有任何不当之处,请多多包涵。不过让我们开始吧。

我正在尝试使用 input 命令返回一个整数。我也做了研究,因此下面是我在 Python 3.4 中的多次尝试以及随后的结果:

尝试#1

guess_row = int(input("Guess Row: "))

我收到以下回复:

Traceback (most recent call last):
File "<input>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: 'Guess Row: 2`

尝试#2

guess_row = float(input("Guess Row: "))

我收到以下回复:

Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: could not convert string to float: "Guess Row: 2""

尝试#3

try:
    guess_row=int(input("Guess Row: "))
except ValueError:
    print("Not an integer")

在这里,我得到了以下结果:

Guess Row: 2
Not an integer

虽然它返回了一些东西,但我知道这是错误的,因为首先,输入以字符串形式返回,并且它还返回打印命令。

重点是,我尝试过 int、float 和 try,但到目前为止都没有用。有什么建议吗?我只想输入一个整数并将其返回为一个整数。


解决方案 1:

你的第三次尝试是正确的 - 但是这段代码之前/之后发生了什么guess_row?例如,考虑以下内容:

a = "Hello"
try:
    a = int(input("Enter a number: "))
except ValueError:
    print("Not an integer value...")
print(str(a))

如果您输入了有效数字,最后一行将打印出您输入的值。如果不是,则会引发异常(在except块中显示错误消息)并且a将保持不变,因此最后一行将打印“Hello”。

您可以改进这一点,以便无效的数字会提示用户重新输入值:

a = None
while a is None:
    try:
        a = int(input("Enter a number: "))
    except ValueError:
        print("Not an integer value...")
print(str(a))

解决方案 2:

为了说明注释,来自 Windows 上的 3.4.2 Idle Shell,python.org (PSF) 安装程序

>>> n = int(input('Guess1: '))
Guess1: 2
>>> n2 = float(input('Guess2: '))
Guess2: 3.1
>>> n, n2
(2, 3.1)

您使用的是什么系统以及如何安装 Python?

解决方案 3:

但是,我注意到一些奇怪的事情。如果我只使用传统的运行(即绿色按钮)来运行整个代码,而不是尝试按 F2 来执行个别代码行,代码就会正常工作。有人知道为什么会这样吗?

从PyDev FAQ来看,这似乎是 Eclipse 中的一个问题:

为什么 raw_input() / input() 在 PyDev 中不能正常工作?

eclipse 控制台并不是 shell 的精确副本... 其中一个变化是,当您在 shell 中按下时,它可能会为您提供 \r、\n 或 \r\n 作为行尾字符,具体取决于您的平台。Python 并不期望这一点 - 根据文档,它表示它将删除最后一个 \n(在版本 2.4 中检查),但在某些平台上会留下 \r。这意味着 raw_input() 通常应用作 raw_input().replace('\r', ''),而 input() 应更改为:eval(raw_input().replace('\r', ''))。

另请参阅:
Eclipse 4 中的 PyDev 3.7.1 — input() 将提示字符串添加到输入变量?,
无法使用 Jython 在 Eclipse 上的 PyDev 控制台中提供用户输入。

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2941  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1803  
  PLM(产品生命周期管理)系统在企业的产品研发、生产与管理过程中扮演着至关重要的角色。然而,在实际运行中,资源冲突是经常会遇到的难题。资源冲突可能导致项目进度延迟、成本增加以及产品质量下降等一系列问题,严重影响企业的效益与竞争力。因此,如何有效应对PLM系统中的资源冲突,成为众多企业关注的焦点。接下来,我们将详细探讨5...
plm项目管理系统   31  
  敏捷项目管理与产品生命周期管理(PLM)的融合,正成为企业在复杂多变的市场环境中提升研发效率、增强竞争力的关键举措。随着技术的飞速发展和市场需求的快速更迭,传统的研发流程面临着诸多挑战,而将敏捷项目管理理念融入PLM,有望在2025年实现研发流程的深度优化,为企业创造更大的价值。理解敏捷项目管理与PLM的核心概念敏捷项...
plm项目   31  
  模块化设计在现代产品开发中扮演着至关重要的角色,它能够提升产品开发效率、降低成本、增强产品的可维护性与可扩展性。而产品生命周期管理(PLM)系统作为整合产品全生命周期信息的关键平台,对模块化设计有着强大的支持能力。随着技术的不断发展,到 2025 年,PLM 系统在支持模块化设计方面将有一系列令人瞩目的技术实践。数字化...
plm软件   28  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用