我最初写的是:n = input('How many players? ')
while type(n) != int or n <= 2:
n = input('ERROR! The number of players must be an integer bigger than 2! How many players? ')
然后,几行之后,这个:
^{pr2}$
在第一次测试之后,我意识到我需要使用原始输入而不是输入。
但是我需要重写while循环。我不想程序中断;我想检查输入并发送消息错误,以防类型不是所要求的类型。在
如果我使用原始输入,我如何检查输入是整数还是浮点,因为类型(n)和类型(V)都是字符串(使用原始输入)?在
对于V,如果是整数,我希望将值存储为整数,如果是浮点,则存储为浮点
更新:
我已经解决了第一段代码的问题:n = None
while n <= 2 :
try:
n = int(raw_input('How many players? '))
except ValueError:
print 'ERROR! The number of players must be expressed by an integer!'
但是我仍然不知道如何解决第二段代码的问题。除非我信任用户,否则我不知道如何存储V的值,如果是float,那么它将是float,如果是int,则是int
更新2-问题已解决:
在第二篇文章中,我想到了这些:while *condition in my program*:
try:
V = float(raw_input("what's the value? "))
except ValueError:
print "ERROR! The value of the coalition must be expressed in numbers!"
if V - int(V) == 0:
V = int(V)
我对结果不太满意,但至少它起作用了。有什么意见吗?建议?在