Python Elif语句显示何时我不';想要吗

Python Elif语句显示何时我不';想要吗,python,Python,我试图得到它,使elif语句仅在输入不是1,2,3,4时显示。我们刚刚了解了if和elif语句,所以我还是有点不确定。目前,无论我输入了多少,elif语句都会显示 Season=input("Pick a number.(1,2,3,4): ") if Season.lower()=='1': print('Winter is cold.') if Season.lower()=='2': print('Spring is warm.') if Season.lower()=='

我试图得到它,使elif语句仅在输入不是1,2,3,4时显示。我们刚刚了解了if和elif语句,所以我还是有点不确定。目前,无论我输入了多少,elif语句都会显示

Season=input("Pick a number.(1,2,3,4): ")
if Season.lower()=='1':
    print('Winter is cold.')
if Season.lower()=='2':
    print('Spring is warm.')
if Season.lower()=='3':
    print('Summer is hot.')
if Season.lower()=='4':
    print('Fall is cool.')
elif Season.lower():
    print('error')

当前
elif
仅是最后一个
if
的替代方案。因此,在您完成所有其他
if
语句之后,您可以检查-is
4
?如果是,秋天是凉爽的。如果否,则检查其是否为空(例如,如果为1、2、3、7、13…),然后返回错误。如果它是空的,您将无法获得任何输出

除了第一个之外,您需要对所有这些文件使用
elif
而不是
if
;您需要
else
而不是最后一个
elif
,因为我认为您不想查看小写输入是否为空

此外,请注意,将像
“1”
这样的数字小写仍然会得到相同的字符串:
“1”
。因此,这里的小写操作是无用的。这不是一个错误,但可能是进一步维护中出现错误的原因,因为它不必要地增加了复杂性,复杂性越高,程序员错误率越高。它还导致代码非常非常稍微慢一点

我还选择将您的
seasure
更改为
seasure
,因为Python的惯例是不使用变量的大小写。类名应使用标题大小写。有时在翻译公式时,大写字母用于变量,例如
L
;但这里的情况也并非如此

season=input("Pick a number.(1,2,3,4): ")
if season=='1':
    print('Winter is cold.')
elif season=='2':
    print('Spring is warm.')
elif season=='3':
    print('Summer is hot.')
elif season=='4':
    print('Fall is cool.')
else:
    print('error')

当前
elif
仅是最后一个
if
的替代方案。因此,在您完成所有其他
if
语句之后,您可以检查-is
4
?如果是,秋天是凉爽的。如果否,则检查其是否为空(例如,如果为1、2、3、7、13…),然后返回错误。如果它是空的,您将无法获得任何输出

除了第一个之外,您需要对所有这些文件使用
elif
而不是
if
;您需要
else
而不是最后一个
elif
,因为我认为您不想查看小写输入是否为空

此外,请注意,将像
“1”
这样的数字小写仍然会得到相同的字符串:
“1”
。因此,这里的小写操作是无用的。这不是一个错误,但可能是进一步维护中出现错误的原因,因为它不必要地增加了复杂性,复杂性越高,程序员错误率越高。它还导致代码非常非常稍微慢一点

我还选择将您的
seasure
更改为
seasure
,因为Python的惯例是不使用变量的大小写。类名应使用标题大小写。有时在翻译公式时,大写字母用于变量,例如
L
;但这里的情况也并非如此

season=input("Pick a number.(1,2,3,4): ")
if season=='1':
    print('Winter is cold.')
elif season=='2':
    print('Spring is warm.')
elif season=='3':
    print('Summer is hot.')
elif season=='4':
    print('Fall is cool.')
else:
    print('error')

将从第二行开始的所有
if
s更改为
elif
,最新的
elif
应该是
else
(因此从
else
行中删除
seasure.lower()

在这种情况下,当数字为1、2或3时,
elif
语句上的所有大小写都将为
True
(对于任何非空字符串,都将返回
True

您可能想进一步研究一下控制流


顺便说一下,在这种情况下不需要
.lower()
,变量名应该是所有非大写字母。

将所有
if
从第二个开始更改为
elif
,最新的
elif
应该是
else
(因此删除
seasure.lower()
else
行)

在这种情况下,当数字为1、2或3时,
elif
语句上的所有大小写都将为
True
(对于任何非空字符串,都将返回
True

您可能想进一步研究一下控制流

顺便说一句,在这种情况下不需要
.lower()
,变量名应该是所有非大写字母。

不需要
lower()
,因为该函数用于将大写字母更改为小写字母。对于您的情况,您希望输入在4种不同的情况下输入,其中任何其他情况都会出现错误。为此,您可以重新构造
if
案例。第一个
if
检查条件,如果失败,则按顺序下降,然后检查下一个
elif
。这一点一直延续下去。如果最后一个
elif
失败,则属于
else
部分

Season=input("Pick a number.(1,2,3,4): ")
print(Season)
if Season == '1':
    print('Winter is cold.')
elif Season =='2':
    print('Spring is warm.')
elif Season =='3':
    print('Summer is hot.')
elif Season =='4':
    print('Fall is cool.')
else:
    print('error')
lower()
是不必要的,因为该函数用于将大写字母更改为小写字母。对于您的情况,您希望输入在4种不同的情况下输入,其中任何其他情况都会出现错误。为此,您可以重新构造
if
案例。第一个
if
检查条件,如果失败,则按顺序下降,然后检查下一个
elif
。这一点一直延续下去。如果最后一个
elif
失败,则属于
else
部分

Season=input("Pick a number.(1,2,3,4): ")
print(Season)
if Season == '1':
    print('Winter is cold.')
elif Season =='2':
    print('Spring is warm.')
elif Season =='3':
    print('Summer is hot.')
elif Season =='4':
    print('Fall is cool.')
else:
    print('error')