关于if语句else的用法的问题
本帖最后由 小白也想学阿 于 2023-9-23 13:05 编辑如图所示,为什么会进入else语句呢,缩进感觉也没问题呀,改为最后一张图程序可以正常实现
根据您提供的截图,我看到您的代码在if语句中判断了两个条件,但是在第一个条件判断为False时,您并没有使用elif语句进行下一步的判断,而是直接使用了一个独立的if语句。这就导致了第二个if语句的判断与第一个if语句的判断是独立的,即使第一个条件判断为False,第二个条件判断为True时,程序也会执行else语句。
解决方法是,在第一个if语句判断为False时,使用elif语句进行下一步的判断,而不是直接使用一个独立的if语句。修改后的代码如下所示:
if a == 1:
print("a等于1")
elif a == 2:
print("a等于2")
else:
print("a不等于1也不等于2")
这样,当第一个条件判断为False时,程序会继续执行elif语句,进行下一步的判断,而不会执行else语句。 根据您所提供的代码和截图,问题出在第6行的条件判断上。您使用了if answer == 'Y' or 'y':来判断用户输入是否为"Y"或"y",但这是一个常见的错误。
正确的写法应该是if answer == 'Y' or answer == 'y':或者if answer in ['Y', 'y']:。这样才能正确判断用户输入是否为"Y"或"y"。
修正后的代码如下:
answer = input('Do you want to continue? (Y/N)')
if answer == 'Y' or answer == 'y':
print('Continue...')
else:
print('Exit.')
或者:
answer = input('Do you want to continue? (Y/N)')
if answer in ['Y', 'y']:
print('Continue...')
else:
print('Exit.')
修改后的代码会根据用户输入的内容来决定是否进入if语句块中。如果用户输入的是"Y"或"y",则会执行print('Continue...');否则,执行print('Exit.')。
希望能解决您的疑问!
如果问题已经解决,请设置最佳答案 isdkz 发表于 2023-9-23 12:49
根据您提供的截图,我看到您的代码在if语句中判断了两个条件,但是在第一个条件判断为False时,您并没有使 ...
你……
可以看图片?!
页:
[1]