作者MOONY135 (谈无慾)
看板Python
标题Re: [问题] 判断布林值的问题
时间Thu Jan 18 23:02:48 2018
※ 引述《zuso ( )》之铭言:
: 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,可是为甚麽会这样子呢?
: 恳请各位给予指点,谢谢
不知道你是想让他怎样 连按两次要变吗
最近的感想是这样写之後会遇到不少麻烦就是了
首先你要搞得懂区域变数跟全域变数
最近会觉得python会自己判定是int还是string会有点让人分不清楚
y = 0
x = False
def abc():
global x
if x is True:
print('Working, Please try again')
else:
if y == 0 :
x = True
print('Start Work')
abc()
abc()
其实我不太建议拉
要是有两个FUNCTION同时用到x
而且有可能是用timer之类的让它去跑 你应该会很难过XDDD
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.82.29
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1516287770.A.482.html
※ 编辑: MOONY135 (1.160.82.29), 01/18/2018 23:04:18
1F:→ zuso: 其实我是想用在Flask上,同时只能有一个人在使用XD 01/19 11:42
2F:→ zuso: Y ==0 结束的尾声 在把x = False 开放下一个工作 01/19 11:43
3F:推 Sunal: 先不论你的Flask架构 直觉听起来这不是个好方法 01/19 12:22
4F:推 zuso: 的确是个糟糕的方法,可以用前端就解决掉,只是想尝试看看 01/19 12:23
5F:→ zuso: 因为是个很简单的web service 单纯後接收变数去Call後端做爬 01/19 12:24
6F:→ zuso: 虫截图 01/19 12:24
7F:→ MOONY135: 我可以想像到的就是 当出现BUG的时候你要怎样抓 01/19 16:48
8F:→ MOONY135: true false现在看起来可能很简单 但程式放久 01/19 16:48
9F:→ MOONY135: 你应该只会靠北当初为啥要这样玩 01/19 16:49
10F:→ MOONY135: 我会用到全域的BOOL 大概只有是人为动作 类似按下BTN 01/19 16:49
11F:→ MOONY135: 这种状况下才会这样写 因为这样好DEBUG 01/19 16:49