【问题标题】:ValueError: invalid literal for int() with base 10: '' in Python [duplicate]ValueError:int() 的无效文字,以 10 为基数:Python 中的 '' [重复]
【发布时间】:2015-11-17 01:08:13
【问题描述】:

我是 Python 新手,并且尝试了一些问题来编写代码,但每次都遇到同样的错误。所以我尝试了这个简单的代码,再次得到同样的错误。

t = raw_input()
for i in range(int(t)):
    print i

      1 t = raw_input()
----> 2 for i in range(int(t)):
      3     print i

ValueError: invalid literal for int() with base 10: ''

我不知道这里出了什么问题。请帮忙。我正在使用 Python 2.7

【问题讨论】:

  • 您需要提供一个有效的整数输入。
  • 空字符串不是有效的 int。
  • @Anuj 你刚才说“我不知道这里出了什么问题。”在问题中?无论如何,如果字符串为空,你想做什么?你没有输入数字
  • @Anuj 我不认为我很关注。你的程序永远不会超过t = raw_input()这一行,直到你按下键盘上的回车键。所以如果字符串是空的,那是因为你没有输入任何东西,你只是按回车键。如果您想确保字符串是数字,请使用tryexcept,就像您提到的那样。
  • 如果你给raw_input()一个提示字符串,它可能不会那么混乱。例如,将其更改为:t = raw_input('Enter a number: ')。然后,当您运行程序时,它将打印消息Enter a number: 并等待您输入内容并按 Enter 键。

标签: python


【解决方案1】:

解释器执行时:

t = raw_input()

它希望在您按 Enter 之前返回一个条目,因为您正在按 Enter 并返回一个空输入,这解释了您的错误,

ValueError: invalid literal for int() with base 10: '' (这些空引号意味着你什么也没提供)

所以我建议进行此修改,以免您感到困惑:

t = raw_input("Please provide an Integer then hit enter: ")
for i in range(int(t)):
    print i

【讨论】:

  • 就这么简单。我总是按回车,从没想过它是在要求输入。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
  • 2021-08-11
  • 2021-08-06
相关资源
最近更新 更多