我正在尝试打印基于2个用户输入数字的数字。如果第一个小于第二个,则从小到大打印。如果第一个大于第二个,则从大到小打印。你知道吗
if&else语句中的两个语句都已测试为包含正确的逻辑。但是,只有if语句有效,但是当else条件被测试时,系统无法执行else语句。你知道吗
def question1c():
firstNum = int(input("Enter first number: "))
secondNum = int(input("Enter second number: "))
if firstNum < secondNum:
for n in range(firstNum, secondNum + 1):
print(n)
else:
for n in range(secondNum, firstNum - 1, -1):
print(n)
question1c()
Enter first number: 10
Enter second number: 12
10
11
12
Enter first number: 12
Enter second number: 10
12
11
10
Enter first number: 12
Enter second number: 10 <-- fails to execute else statements
你的问题是当
firstNum = 12
和secondNum = 10
时,else
执行正常(因为12 >= 10
),但是你的range
是:所以循环根本不执行,什么也不打印(因为您正试图从
10
到11
)。你知道吗如您所见,您需要将
range
更改为:或者,您可以消除这些条件并在一个
range
中使用方向:secondNum比firstNum小,所以不能向下。换一下。你知道吗
相关问题 更多 >
编程相关推荐