Hi 各位板友,最近剛開始碰Python,遇上了一個問題,實在不懂為甚麼,懇請各位指點
def abc():
x = False
y = 0
if x is True:
print('Working, Please try again')
else:
if y == 0 :
x = True
print('Start Work')
abc()
abc()
#Start Work
#Start Work
不懂為甚麼第二個回應依舊是Start Work,正常來說應該在第一個Start Work運行後就
賦值True給X,第二次應該是Working, Please try again,可是為甚麼會這樣子呢?
懇請各位給予指點,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.156.198
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1516239946.A.C9C.html
推
01/18 09:50,
6年前
, 1F
01/18 09:50, 1F
→
01/18 09:51,
6年前
, 2F
01/18 09:51, 2F
我有嘗試把x y放在方法外,然後第二個判斷
式中return x出去,一樣的結果
→
01/18 09:56,
6年前
, 3F
01/18 09:56, 3F
x = False
y = 0
def abc(x,y):
if x is True:
print('Working, Please try again.')
else:
if y == 0 :
x = True
print('Start Work')
return x
abc(x,y)
abc(x,y)
#Start Work
#Start Work
return用法可能有誤,但刪掉的話結果還是一樣的
※ 編輯: zuso (180.217.156.198), 01/18/2018 10:02:11
推
01/18 10:53,
6年前
, 4F
01/18 10:53, 4F
推
01/18 12:32,
6年前
, 5F
01/18 12:32, 5F
→
01/18 12:32,
6年前
, 6F
01/18 12:32, 6F
→
01/18 12:32,
6年前
, 7F
01/18 12:32, 7F
→
01/18 12:32,
6年前
, 8F
01/18 12:32, 8F
→
01/18 12:32,
6年前
, 9F
01/18 12:32, 9F
→
01/18 12:32,
6年前
, 10F
01/18 12:32, 10F
→
01/18 12:33,
6年前
, 11F
01/18 12:33, 11F
→
01/18 12:33,
6年前
, 12F
01/18 12:33, 12F
→
01/18 16:01,
6年前
, 13F
01/18 16:01, 13F
推
01/18 16:29,
6年前
, 14F
01/18 16:29, 14F
推
01/18 16:33,
6年前
, 15F
01/18 16:33, 15F
→
01/18 16:34,
6年前
, 16F
01/18 16:34, 16F
→
01/18 16:34,
6年前
, 17F
01/18 16:34, 17F
推
01/18 17:14,
6年前
, 18F
01/18 17:14, 18F
推
01/19 03:54,
6年前
, 19F
01/19 03:54, 19F
→
01/19 03:57,
6年前
, 20F
01/19 03:57, 20F
→
01/19 03:58,
6年前
, 21F
01/19 03:58, 21F
→
01/19 03:58,
6年前
, 22F
01/19 03:58, 22F
→
01/19 03:59,
6年前
, 23F
01/19 03:59, 23F
→
01/19 10:01,
6年前
, 24F
01/19 10:01, 24F
→
01/19 11:42,
6年前
, 25F
01/19 11:42, 25F
討論串 (同標題文章)