作者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/m.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