【发布时间】:2018-04-19 19:19:38
【问题描述】:
我真的很困惑,我不知道如何解决以下问题。
想象一下我写了一个很长的代码,我想把这个很长的代码转换成一个函数来防止重复。问题是我需要将“加号”(+)和“减号”(-)作为函数输入。我的意思是我有一个很长的代码,我需要每次更改两个加减法符号,仅此而已,最后根据更改这两个运算符获得输出(这两个运算符实际上是我的变量!)
如您所知,为改变“加减符号”的四种不同状态重复这个长函数会使我的代码越来越长。我想知道是否有任何方法可以只定义一个函数,将这对加法和减法运算符作为输入并为我提供这四种不同条件的输出? 我做了一个简单的例子来澄清这个问题:
想象一下,我有四个类似的“for 循环”,只是在“减号”和“加号”方面有所不同:
edges=set()
a=60; b=40
for i in range(0,300):
a+=1; b+=1
if a!=0 and b!=0:
edges.add((a, b))
a=60; b=40
for i in range(0,300):
a-=1; b-=1
if a>=0 and b>=0:
edges.add((a, b))
a=60; b=40
for i in range(0,300):
a+=1; b-=1
if a>=0 and b>=0:
edges.add((a, b))
a=60; b=40
for i in range(0,300):
a-=1; b+=1
if a>=0 and b>=0:
edges.add((a, b))
print(edges)
如您所见,这四个“for 循环”除了“加号和减号”之外都相同。我只想编写一个函数,而不是这四个重复的“for 循环”。有没有其他方法可以解决这个问题?有人知道吗?
【问题讨论】: