If 语句简单
If Statement Simple
有没有办法使这个 ELIF 语句更简单,顺便说一句,这段代码不起作用。
改变的变量是 APPOINTMENT
elif (rut == '80010900-0' and agental_launch != "" and 'TAL' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'IQQ' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'ANF' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'MJS' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'QTV' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'SVE' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'PMC' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'CHB' in appointment):
df.at[idx,'REBATE'] = round(int(monto_neto)*0.35)
使用 any
作为最后一个条件,成为单行:
elif rut == '80010900-0' and agental_launch != "" and any(x in appointment for x in ['TAL','IQQ','rest of strings to match...']):
你可以这样做:
elif rut == '80010900-0' and agental_launch != "" and any(elem in appointment for elem in ['TAL','IQQ','ANF','MJS','QTV','SVE','PMC','CHB']):
df.at[idx,'REBATE'] = round(int(monto_neto)*0.35)
有没有办法使这个 ELIF 语句更简单,顺便说一句,这段代码不起作用。 改变的变量是 APPOINTMENT
elif (rut == '80010900-0' and agental_launch != "" and 'TAL' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'IQQ' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'ANF' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'MJS' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'QTV' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'SVE' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'PMC' in appointment) or
(rut == '80010900-0' and agental_launch != "" and 'CHB' in appointment):
df.at[idx,'REBATE'] = round(int(monto_neto)*0.35)
使用 any
作为最后一个条件,成为单行:
elif rut == '80010900-0' and agental_launch != "" and any(x in appointment for x in ['TAL','IQQ','rest of strings to match...']):
你可以这样做:
elif rut == '80010900-0' and agental_launch != "" and any(elem in appointment for elem in ['TAL','IQQ','ANF','MJS','QTV','SVE','PMC','CHB']):
df.at[idx,'REBATE'] = round(int(monto_neto)*0.35)