我是初学者。每当我输入指定的字符串时,有人能解释和/或帮助我修改Python代码以产生正确的输出吗?例如,如果输入三月,则输出“02”。目前,程序总是输出00,对于一月,不管输入。代码如下:
x = raw_input("Starting Month: ")
if x == "January" or "january":
stMonth = '00'
elif x == "February" or "february":
stMonth = '01'
elif x == "March" or "march":
stMonth = '02'
elif x == "April" or "april":
stMonth = '03'
elif x == "May" or "may":
stMonth = '04'
elif x == "June" or "june":
stMonth = '05'
elif x == "July" or "june":
stMonth = '06'
elif x == "August" or "august":
stMonth = '07'
elif x == "September" or "september":
stMonth = '08'
elif x == "October" or "october":
stMonth = '09'
elif x == "November" or "november":
stMonth = '10'
elif x == "December" or "december":
stMonth = '11'
else:
print "error"
print stMonth
输出:
$ python month.py
Starting Month: march
00
提前感谢-任何和所有的帮助是非常,非常感谢!你知道吗
您的声明:
总是返回true,因为其计算结果为:
是x==“一月”否 然后对or进行求值并检查一月,返回true。所以如果你尝试: 如果“一月”: 它总是返回您的真值,因此您得到00作为输出。你知道吗
您可以在下列子句中使用or或:
或者
因为
or
比==
具有更高的优先级:x == 'january' or 'January'
实际上与(x == 'january') or 'January'
相同,并且'January'
的计算结果为true
,所以组合语句总是true。你知道吗您应该将每个语句更改为
x == 'january' or x == 'January'
。你知道吗它不能按预期工作的原因是
相当于:
第一个
if
语句总是True
。你知道吗使用
.lower()
函数将输入字符串转换为小写,这样会更容易。你知道吗相关问题 更多 >
编程相关推荐