我想撰寫一個函式來檢查Trueboolena 陳述句是否在其中,all_vals如果有True值,則yes代碼將輸出no,如果沒有,則代碼將輸出,本質上是創建一個 or 陳述句。下面的代碼不起作用我將如何修改它以使其獲得下面的預期輸出?
def vals(all_vals):
for x in all_vals:
if True in all_vals:
print('yes')
else:
print('no')
a = [True, True, True]
b = [True, False, True, True, False]
c = [False, False]
d = [True, False]
vals([a,b,c,d])
預期輸出:
yes
yes
no
yes
uj5u.com熱心網友回復:
而不是:if True in all_vals:你需要if True in x:這樣:
def vals(all_vals):
for x in all_vals:
if True in x:
print('yes')
else:
print('no')
a = [True, True, True]
b = [True, False, True, True, False]
c = [False, False]
d = [True, False]
vals([a,b,c,d])
您也可以使用以下方法來持久地縮短代碼:
vals = lambda all_vals: print("\n".join(['yes' if True in i else 'no' for i in all_vals]))
a = [True, True, True]
b = [True, False, True, True, False]
c = [False, False]
d = [True, False]
vals([a,b,c,d])
輸出:
yes
yes
no
yes
uj5u.com熱心網友回復:
def vals(all_vals):
for x in all_vals:
if True in x: # <--- Your typo here
print("yes")
else:
print("no")
a = [True, True, True]
b = [True, False, True, True, False]
c = [False, False]
d = [True, False]
vals([a, b, c, d])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/404991.html
標籤:
