Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让用户在Python程序中只输入整数值_Python_Python 3.x_Integer - Fatal编程技术网

如何让用户在Python程序中只输入整数值

如何让用户在Python程序中只输入整数值,python,python-3.x,integer,Python,Python 3.x,Integer,我有一个作业,我很困惑。我必须编写一个程序,允许用户输入他们购买的鸡蛋数量。然后,程序会告诉他们可以装满多少盒六个鸡蛋,还有多少鸡蛋剩下 我需要确保,如果用户输入非整数值,将显示一条错误消息。我不知道怎么做,任何帮助都将不胜感激!这与while循环有关,还是我完全错了?让用户输入他想要的任何内容,并仅在不是整数时发出警告: try: num = int(input("enter number: ")) except ValueError: print("you must ente

我有一个作业,我很困惑。我必须编写一个程序,允许用户输入他们购买的鸡蛋数量。然后,程序会告诉他们可以装满多少盒六个鸡蛋,还有多少鸡蛋剩下


我需要确保,如果用户输入非整数值,将显示一条错误消息。我不知道怎么做,任何帮助都将不胜感激!这与while循环有关,还是我完全错了?

让用户输入他想要的任何内容,并仅在不是整数时发出警告:

try:
    num = int(input("enter number: "))
except ValueError:
    print("you must enter an integer")

毕竟,这是python的方法。

让用户输入他想要的任何内容,并仅在不是整数时发出警告:

try:
    num = int(input("enter number: "))
except ValueError:
    print("you must enter an integer")

这是python式的方法,毕竟它是。

是的,这可能是一个while循环,例如

while 1:
  instr = input('Enter an integer')
  try:
    val = int(instr)
    print 'integer entered', val
    break
  except ValueError:
    print instr, ' is not an integer'

是的,这可能是一个while循环,例如

while 1:
  instr = input('Enter an integer')
  try:
    val = int(instr)
    print 'integer entered', val
    break
  except ValueError:
    print instr, ' is not an integer'

[编辑]我的注释和代码仅对python 2.x有效

与其他答案相反,在询问用户时,您几乎不应该使用“输入”,而应该使用“原始输入”

“input”评估从用户处获得的字符串,就像它是程序的一部分一样。 这不仅是安全问题,而且是不可预测的,如果python尝试将字母解析为变量名,几乎会引发任何异常,如NameError


[编辑]我的注释和代码仅对python 2.x有效

与其他答案相反,在询问用户时,您几乎不应该使用“输入”,而应该使用“原始输入”

“input”评估从用户处获得的字符串,就像它是程序的一部分一样。 这不仅是安全问题,而且是不可预测的,如果python尝试将字母解析为变量名,几乎会引发任何异常,如NameError

这是在Python3中使用户输入整数的一种简单方法。这也可以确保用户输入一个字符串,您只需将int.into.str更改为字符串即可


这是在Python3中使用户输入整数的一种简单方法。这也可以确保用户输入一个字符串,你只需将int.into str更改为str即可。我通常将文本放在外部,并将其像函数一样包装,使其与标准输入类似。也许有人喜欢它:

def int_input(text):
    """Makes sure that that user input is an int"""
    while True:
        try:
            num = int(input(text))
        except ValueError:
            print("You must enter an integer.")
        else:
            return num

user_int = int_input("Enter a number: ")

我通常将文本放在外部,并将其像函数一样包装,以使其与标准输入类似。也许有人喜欢它:

def int_input(text):
    """Makes sure that that user input is an int"""
    while True:
        try:
            num = int(input(text))
        except ValueError:
            print("You must enter an integer.")
        else:
            return num

user_int = int_input("Enter a number: ")

您还可以将其包装在while循环中,以允许用户重新输入一个值,直到他们给出一个有效值为止。@ÓscarLópez非常感谢您!这已经解决了所有问题,我的程序现在运行得很好。感谢您的帮助。您也可以将其包装在while循环中,以允许用户重新输入一个值,直到他们给出一个有效值。@ÓscarLópez非常感谢您!这已经解决了所有问题,我的程序现在运行得很好。谢谢你的帮助。到目前为止你得到了什么?到目前为止你得到了什么?使用Python 3查看不存在原始输入的标记有点困难…使用Python 3查看不存在原始输入的标记有点困难…@“Janne Kanla”感谢修复。这就是在考虑下一行时键入时发生的情况:-@“Janne Kanla”谢谢。这就是在考虑下一行时键入时发生的情况:-