【发布时间】:2020-09-03 08:40:14
【问题描述】:
这是我的代码:
#Greeting
print('\n---Sales Discount Calculator---\n')
#User Input
packageCount = input('Packages Purchased: ')
#To check whether packageCount is an integer or not
#loop continues until a positive integer is inputted
validInput = False
while (validInput == False):
if (packageCount.isdigit()):
packageCount = int(packageCount)
if (packageCount != 0):
validInput = True
print(packageCount)
else:
print('Invalid Input. Try again...')
packageCount = input('Packages Purchased: ')
我正在尝试查看来自用户的输入是否是正整数而不是零。我需要首先检查它是否是整数(第一个 if 语句),因为您无法将类型字符串与数字进行比较。如果它是一个整数,那么我需要检查它是否为零(第二个 if 语句)。当第二个 if 语句不存在时,代码会检查正整数以及它是否是字符串,但是当我包含第二个 if 语句并输入字符串时,它会继续运行而不打印“无效输入” (其他)。 *这会导致以后出现问题。
【问题讨论】:
-
我很确定它与缩进有关。我尝试缩进第二个 if 语句,但它给了我一个错误:(
标签: python loops if-statement while-loop nested