import random
max_number = input("Please type in the highest number for the range: ")
if max_number.isdigit():
max_number = int(max_number)
if max_number <= 0:
print("Please type a number larger than 0")
quit ()
else:
print('Please type a number')
quit()
random_number = random.randint( 0 , max_number )
print(random_number)
我正在做一个随机数生成器,但是当我输入一个像-9这样的数字时,它仍然给我一个数字。请输入一个数字,而不是请输入一个大于0的数字。
我期待第一个打印结果,但得到了第二个
1条答案
按热度按时间zpf6vheq1#
这是因为这里找到的
.isdigit()
逻辑。您需要修改代码以使用正则表达式,或者如果
-
是输入的第一个字符,则将其删除。这里也有一个小的整数备忘录:https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch06s01.html。