Python 对于范围(5)中的i和范围(2)中的k:类型错误:';布尔';对象是不可编辑的
我相信有更好的方法来做最后的陈述。只是想检查是否在Python 对于范围(5)中的i和范围(2)中的k:类型错误:';布尔';对象是不可编辑的,python,boolean,Python,Boolean,我相信有更好的方法来做最后的陈述。只是想检查是否在工作日或周末 到目前为止,我的代码是: dayOfWeek = input('What day is it?\n') weekDay = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] weekend = ['Saturday', 'Sunday'] for i in range(5) and k in range(2): if dayOfWeek != weekDa
工作日
或周末
到目前为止,我的代码是:
dayOfWeek = input('What day is it?\n')
weekDay = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
weekend = ['Saturday', 'Sunday']
for i in range(5) and k in range(2):
if dayOfWeek != weekDay[i] and dayOfWeek != weekend[k]:
print("You didn't enter a Day of the week")
要检查项目是否在列表中,只需使用
in
操作符:
if not(DayOfWeek in weekend or DayOfWeek in weekday):
print('You did not enter a day!')
您的尝试被解析为
for i in (range(5) and (k in range(2))):
它将显示k
是以前分配的<代码>范围(5)本身是真实的,因此和
表达式的结果就是范围(2)中的k比较的真实性
将列表(或者更确切地说,它们的迭代器)与itertools.Chain
链接在一起,然后使用not in
:
from itertools import chain
if dayOfWeek not in chain(weekDay, weekend):
print("You didn't enter a Day of the week")