更清洁的方式来收集用户的多个输入

时间:2015-01-11 20:19:22

标签: python input try-catch

我在python

中学会了异常'捕捉'
while True:

  try:

    int(input("Enter a number: ")
    break

  except ValueError:

    print("That isn't a number")
    continue

如果我在一段代码中有很多user_input,看起来我不知道我在做什么(我不完全)

是否有一种更容易,更“恶心”的做法。如果是这样,怎么样?

2 个答案:

答案 0 :(得分:2)

实际上,使用try/except执行此任务在Python中是惯用的,因为它遵循EAFP。唯一的问题是您为每个输入编写相同的输入收集代码。

您可以将代码放入function

,以使代码可重复使用
def get_int():
    while True:
      try:
          return int(input("Enter a number: "))
      except ValueError:
          print("That isn't a number")

现在,只要您需要从用户那里获得输入,您就可以调用该函数:

int_1 = get_int()
int_2 = get_int()

您甚至可以使get_int函数接受每个输入的自定义提示:

def get_int(prompt):
    while True:
      try:
          return int(input(prompt))
      except ValueError:
          print("That isn't a number")

这使您可以使您的程序更直观。例如:

height = get_int('Please enter a height: ')
width = get_int('Please enter a width: ')

答案 1 :(得分:0)

来自here;

  

Python是一种广泛使用的通用高级编程   语言。它的设计理念强调代码   可读性,其语法允许程序员表达概念   比C ++或C ++等语言更少的代码行   Java。该语言提供了旨在启用的结构   清晰的小规模和大规模节目。

     

该语言的核心理念由文件" PEP总结   20(Python的禅宗)",其中包括格言,如:

     

美丽胜过丑陋

     

显式优于隐式

     

简单比复杂

更好      

复杂比复杂

更好      

可读性计数

所以不要急,首先完成教程并学习基础知识,你会发现Python是最清晰的'并且更少'恶心'语言。