作者piligo (霹雳狗)
看板Python
标题Re: [问题] 多个function的变数需互通的运用
时间Tue Aug 10 02:41:50 2021
延续上篇讨论,目前已采用参数来实现。
另外一个延伸问题
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():
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 106.104.34.155 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1628534512.A.B4C.html
1F:推 s0914714: 我不太清楚你的需求 但是个人觉得你的fun应该可以改写 08/10 04:54
2F:→ s0914714: fun1可以改成回传boolean 在start1判断如果fun1是True 08/10 04:57
3F:→ s0914714: 就执行fun4 08/10 04:58
4F:→ s0914714: fun2不太清楚目的 是要将global的test2设成X? 08/10 04:59
5F:推 s0914714: fun3跟fun1作法一样 08/10 05:01
6F:→ s0914714: 除非你的test1跟test2可以依照不同情境对应不同执行流 08/10 05:02
7F:推 s0914714: 例如test1==1做A test1==2做B 那麽你原本的设计是OK的 08/10 05:05
8F:推 a367560: 第一个问题 逻辑上来看没有大问题 08/10 07:01
9F:→ a367560: 第二个问题 看起来是要把start1(test)底下改写成 08/10 07:03
10F:→ a367560: fun3(a3,fun2(a2)) 这样?(有点不太确定) 08/10 07:05
11F:→ a367560: 然後利用fun2去return出test2的数值 08/10 07:07
12F:推 aassdd926: 其实如果只是程式逻辑,有好多种解法,重要的是需求是 08/10 22:56
13F:→ aassdd926: 什麽,才能知道怎麽写比较好 08/10 22:56