【发布时间】:2021-05-01 15:19:00
【问题描述】:
a=0
b=0
s="1110000"
for i in range(len(s)):
if s[i]=='1':
a+=1
else:
b+=1
否则我需要写在一行中。 我尝试了以下方法,但它不起作用。
a+=1 if if s[i]=='1' else b+=1
请帮帮我
【问题讨论】:
-
不是每个 if/else 语句都可以写成一行;没有理由这样做。
-
@MohammadAliNematollahi 不,还是不行。
-
“我需要写一行”——需要的本质是什么?这是您一直坚持的家庭作业要求,还是只是想要的结果?
-
我投票结束了这个问题,因为所述问题是“需要”以不同的方式做事,我无法重现该问题。
-
看起来你可以使用 count 方法来实现你的目标:s.count('1') 会给你 a 和 len(s) - s.count('1) 会给你b
标签: python if-statement one-liner