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