switch求助

Disguiser-x 2020-11-17 01:51:17
class switch(object):
def __init__(self, value):
self.value = value
self.fall = False

def __iter__(self):
yield self.match
raise StopIteration

def match(self, *args):
if self.fall or not args:

return True
elif self.value in args:
self.fall = True
return True
else:
return False

operator = "+"
x = 1
y = 2
for case in switch(operator):
if case('+'):
print(x + y)
break
if case('-'):
print(x - y)
break
if case('*'):
print(x * y)
break
if case('/'):
print(x / y)
break
if case():
print("")


大佬们求助!这段代码在Python3 IDE 上为什么没有输出结果啊?而且在Pycharm上还显示This code is unreachable?感谢!
...全文
89 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2020-11-17
引用 2 楼 Disguiser-x 的回复:
[quote=引用 1 楼 tianfang的回复:]match 函数 的11-18行的if else 都有return ,所以 走不到20行
那么大佬你知道怎么改吗?书上的源程序这样写的我不知道怎么改。[/quote] 关键是不知道这个函数的功能是什么,所以不知道啊
  • 打赏
  • 举报
回复
Disguiser-x 2020-11-17
引用 1 楼 tianfang的回复:
match 函数 的11-18行的if else 都有return ,所以 走不到20行
那么大佬你知道怎么改吗?书上的源程序这样写的我不知道怎么改。
  • 打赏
  • 举报
回复
tianfang 2020-11-17
match 函数 的11-18行的if else 都有return ,所以 走不到20行
  • 打赏
  • 举报
回复
发帖
脚本语言

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • ITBOB • 鲍勃
加入社区
帖子事件
创建了帖子
2020-11-17 01:51