如何使用2条消息验证输入?python3

时间:2016-08-05 01:51:45

标签: python-3.x

我有总薪酬的例子,但我希望不接受任何字符串值。我尝试用真实的语句解决它,但是在第一个代码问题上执行。

我想要这些输出:

输入本周工作时数:asd

请整数

输入本周工作时数:10

输入每小时工资率:asd

请漂浮号码

输入每小时工资率:20.01

任何人帮助

我的代码

而True:

       try:

           hours = int(input('Enter the hours worked this week: '))

           pay_rate = float(input('Enter the hourly pay rate: '))

           gross_pay = hours * pay_rate

           print('Gross pay: $', format(gross_pay, ',.2f'))

       except ValueError:

                        print('please integer number)

2 个答案:

答案 0 :(得分:0)

试试这个:

[CustomizeAttribute]
public IQueryable<MyTable> Get()
{
    return db.MyTable;
}

并简单地为其他问题编写其他函数,替换 enum OrderType { TradeOrder, LibraryOrder } Dictionary<OrderType, Type> _orderTypeMap = new Dictionary<OrderType, Type> { { OrderType.LibraryOrder, typeof(LibraryOrder)}, { OrderType.TradeOrder, typeof(TradeOrder)} }; Order GetOrderInstance(OrderType orderType) { return Activator.CreateInstance(_orderTypeMap[orderType]) as Order; } ed语句和数据类型。

答案 1 :(得分:0)

这是我在需要验证多个用户输入并请求不同类型时通常使用的函数。

def get_input(typ, msg, err):
    while True:
        try:
            return typ(input(msg))
        except ValueError:
            print("Please enter {0}".format(err))


hours = get_input(int, 'Enter the hours worked this week: ', 'an intger number')
pay_rate = get_input(float, 'Enter the hourly pay rate: ', 'a float number')
gross_pay = hours * pay_rate
print('Gross pay: $', format(gross_pay, ',.2f'))