在python2中如何避免ValueError和只获取整数输入?

2024-07-01 08:40:53 发布

您现在位置:Python中文网/ 问答频道 /正文

python valueerror

#!/usr/bin/env python

# getting user input
height = int(raw_input("height: "))

while (height < 0 or height > 23):
    height = int(raw_input("height: "))

# building the "pyramid"
spaceCount = height
hashCount = 1

for i in range(height):
    assert height != 0
    hashCount += 1
    spaceCount -= 1
    print " " * spaceCount,
    print "#" * hashCount

如果输入不是整数,代码应该继续提示用户。但是怎么做呢?在


Tags: orenvinputrawbinusrintprint
2条回答

你需要抓住例外。在

 height = 24
 while (height < 0 or height > 23):
     try:
        height = int(raw_input("heightL "))
     except ValueError:
        print "Height needs to be an integer. Try again."

您可以在一个无休止的循环中读取输入,直到用户输入一个有效的整数。例如:

while True:
  try:
    val = int(raw_input("Enter an integer:"))
  except ValueError:
    print "I said an integer"
  else:
    # ValueError was not thrown, which means the user entered a valid integer
    break

相关问题 更多 >

    热门问题