初学者:需要找到更好的方法来完成某些事情

时间:2016-12-05 01:47:36

标签: python

我正在使用Learn Python the Hard Way一书,我有一个非常初学的问题。我试图得到它,以便下面的代码不必经过如此奇怪的方式来检查是否给出了一个数字,而且,我想要的数字不能有1或0有效。

def gold_room():
    print("The room is full of gold, how much do you take?")

    choice = raw_input("> ")
    if "0" in choice or "1" in choice:
        how_much = int(choice)

我的想法是让它检查选项是否为整数,如果是,则触发代码,但我无法弄清楚如何做到这一点。我确信答案很简单,对不起这个基本问题我很抱歉。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

如果您只查找非负整数,那么choice.isdigit()就足够了。它返回TrueFalse,具体取决于choice是否包含所有数字。完整的解决方案:

def gold_room():
  choice = raw_input("The room is full of gold, how much do you take? ")
  if choice.isdigit():
    return int(choice)
  else:
    return None