Re: [问题] 多个function的变量需互通的运用

楼主: piligo (霹雳狗)   2021-08-10 02:41:50
延续上篇讨论,目前已采用参数来实现。
另外一个延伸问题
fun1判断test1来决定是否呼叫fun4
整个流程是start1()->fun1() -> 判断test1为1才呼叫fun4()
第二个问题是fun3需要判断fun2的test值,如果是1就印出Hello,
可是是fun2跟fun3是同层,fun3要怎么调用fun2底下的test2?
另外test1这种写法是对的吗,跳了好几层看了就觉得怪怪的
谢谢
def start1(test1):
a1='xxx'
a2='xxx'
a3='xxx'
fun1(a1,test1)
fun2(a2)
fun3(a3)
def fun1(a1,test1):
if(test1==1):
fun4()
def fun2(a2):
test2=X
def fun3(a3,test2):
if(test2==1):
print('Hello')
def fun4():
作者: s0914714 (YA)   2021-08-10 04:54:00
我不太清楚你的需求 但是个人觉得你的fun应该可以改写fun1可以改成回传boolean 在start1判断如果fun1是True就执行fun4fun2不太清楚目的 是要将global的test2设成X?fun3跟fun1作法一样除非你的test1跟test2可以依照不同情境对应不同执行流例如test1==1做A test1==2做B 那么你原本的设计是OK的
作者: a367560 (欸参陆柒)   2021-08-10 07:01:00
第一个问题 逻辑上来看没有大问题第二个问题 看起来是要把start1(test)底下改写成fun3(a3,fun2(a2)) 这样?(有点不太确定)然后利用fun2去return出test2的数值
作者: aassdd926 (打东东)   2021-08-10 22:56:00
其实如果只是程式逻辑,有好多种解法,重要的是需求是什么,才能知道怎么写比较好

Links booklink

Contact Us: admin [ a t ] ucptt.com