您如何确保输入的值是一个数字?

时间:2016-03-25 22:10:03

标签: python

我完成了掷骰子计划!现在我似乎很容易打破它...

在从字符串转换之前,我如何检查值是int还是float ...我尝试使用ValueError:但我认为因为函数不是循环的一部分我不能...对不起第一次我需要考虑这个!

如果用户实际遵循指示(HA!),我的代码效果很好,但如果我输入“THREE”而不是3,则会中断。 代码:

def parse_message(msg):

    if len(msg) >= 1:
        msg = msg.split(' ')
        options = {'!resetme': command_reset_player,
                   '!removebets': command_remove_bets}
        if msg[0] == '!bet':
            if msg[1] == 'place':
                if int(msg[2]) in [4, 5, 6, 8, 9, 10] :
                    if float(msg[3]) > 1:
                        UpdateBets.PlaceBet(sender, int(msg[2]), float(msg[3]))
            if msg[1] == 'pass':
                if float(msg[2]) > 1:
                    UpdateBets.PassBet(sender, float(msg[2]))
            if msg[1] == 'passodds':
                if float(msg[2]) > 1:
                    UpdateBets.PassOdds(sender, float(msg[2]))
            if msg[1] == 'hard':
               if int(msg[2]) in [4, 6, 8, 10] :
                   if float(msg[3]) > 1:
                       UpdateBets.HardBet(sender, int(msg[2]), float(msg[3]))

1 个答案:

答案 0 :(得分:0)

try:
    val = int(val)
except ValueError:
    print('Not an int')
相关问题