【发布时间】:2020-05-22 03:19:03
【问题描述】:
我的 If 语句输入过多,无法将其全部放在一行上,有没有办法将其转移到下一行?
if monthConversion != "Jan" or "Feb" or "Mar" or "Apr" or "May" \
or "Jun" or "Jul" or "Aug" or "Sep" or "Oct" or "Nov" or "Dec":
我试图将这一切写在一行上,但不合适。然后我尝试在“Oct”之后加上“或”,并在下一行写下“Nov”,但 Python 显示“预期表达式”和“目标注释的非法变量”。
【问题讨论】:
-
我会将月份放在模块顶部初始化的列表中,然后使用“包含”,这样我就不需要第二行了。
-
你有一个更大的问题:你的声明总是
True。你正在测试 ìf monthConversion != "Jan" 然后你测试 "Feb" 是否真实......它是真实的 - 因为 emtpy 字符串是真实的 -
“如何测试多个 ..”欺骗性测试一个东西与多个其他东西,如果你切换你的测试它是一样的:
"Jan" != mothConverstion and "Feb" != mothConverstion and ...- 但对你来说最好做monthConversion not in {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Now","Dec"}或使用日期时间模块或日历模块进行转换以开始 -
@patrick 我想说::.. 非空字符串是
True... -
原始问题的答案:如果要将表达式扩展到下一行,请在当前行的末尾加上反斜杠。
标签: python if-statement