# 条件语句的七种写法
# 1. 第一种<expression 1> if <condition> else <expression 2>
age1 = 20
age2 = 17
msg1 = "已成年" if age1 > 18 else "未成年"
print (msg1)# 已成年
msg2 = "已成年" if age2 > 18 else "未成年"
print (msg2)# 未成年
# 2. 第二种<expression> and <on_true> or <on_false>
msg1 = age1 > 18 and "已成年" or "未成年"
msg2 = "已成年" if age2 > 18 else "未成年"
print(msg1)# 已成年
print(msg2)# 未成年
# 3. 第三种("false", "true")[condition]
msg1 = ("未成年", "已成年")[age1 > 18]
print(msg1)# 未成年
msg2 = ("未成年", "已成年")[age2 > 18]
print(msg2)# 未成年
# 4. 第四种(lambda: <on_false>, lambda:<on_true>)[<condition>]()
msg1 = (lambda:"未成年", lambda:"已成年")[age1 > 18]()
print(msg1)# 已成年
msg2 = (lambda:"未成年", lambda:"已成年")[age2 > 18]()
print(msg2)# 未成年
# 5. 第五种{True: <on_true>, False: <on_false>}[<condition>]
msg1 = {True: "已成年", False: "未成年"}[age1 > 18]
print(msg1)# 已成年
msg2 = {True: "已成年", False: "未成年"}[age2 > 18]
print(msg2)# 未成年
# 6. 第六种((<condition>) and (<on_true>,) or (<on_false>,))[0]
msg1 = ((age1 > 18) and ("已成年",) or ("未成年",))[0]
print(msg1)# 已成年
msg2 = ((age2 > 18) and ("已成年",) or ("未成年",))[0]
print(msg2)# 未成年