我刚刚在我的python类中学习列表理解,想知道为什么下面的代码由于“else”子句返回无效语法错误
allDays=["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
daysWithPlaydate=[]
for days in range(len(allDays)):
answer=input("Is there a playdate on " + allDays[days] + "?")
if answer == "yes":
daysWithPlaydate.append(allDays[days])
outputs=["Weekday Playdate: " + weekdays for weekdays in daysWithPlaydate if weekdays!="Friday" or weekdays!="Saturday" or weekdays!="Sunday" else "Weekend Playdate: " + weekdays for weekdays in daysWithPlaydate]
for i in range(len(outputs)):
print(outputs[i], end=", ")
注:对于最后的打印声明,我想知道在打印列表时如何删除最后一个逗号,因为我似乎总是在列表的最后一天之后得到一个逗号,谢谢
适用于列表理解的有效Santax IF-ELSE为:
奎师那的回答应该能解决你的清单理解问题
关于最后的逗号问题,如果您希望它们在一行中仅用逗号分隔,而在最后没有逗号,那么您可以只打印未打包的列表,并在打印功能中使用分隔符关键字而不是end。i、 e
你不需要循环两次
此外,条件语句无效,应为:
我还使用了
in
关键字来进一步简化条件语句要解决输出格式问题,可以使用
join()
方法将输出打印为:输出:
相关问题 更多 >
编程相关推荐