i = 1
while i<=5:
day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day not in[1,2,3,4,5,6,7]:
print('输入错误!')
if day in [6,7]:
print("今天非工作日。")
break
if day in [1,2,3,4,5]:
break
print('yes')
i+=1
上面代码中:
if day in [1,2,3,4,5]:
break
print('yes')
修改成:
if day in [1,2,3,4,5]:
break
和
if day in [1,2,3,4,5]:
print('yes')
都可以执行成功。但为什么break和print('yes')都放上去就报错:TabError: inconsistent use of tabs and spaces in indentation
报错显示的是缩进问题,因为看不到你的代码所以不知道问题,试着还原了一下你应该想写的是这样吧
i=1
while i<=5:
day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day not in [1, 2, 3, 4, 5, 6, 7]:
print('输入错误!')
if day in [6, 7]:
print("今天非工作日。")
break
if day in [1, 2, 3, 4, 5]:
print("yes")
break
i += 1
你的代码有几个问题
1.你工作日的break在print前,所以一定不会输出yes应该把位置调换一下
2.如果循环的意义为没有输出1-7的整数就重复循环的话可以先定义一个死循环然后用break跳出循环
代码如下
while 1:
day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day not in [1, 2, 3, 4, 5, 6, 7]:
print('输入错误!请重新输入:')
if day in [6, 7]:
print("今天非工作日。")
break
if day in [1, 2, 3, 4, 5]:
print("yes")
break
感谢。