初学者关于三元操作符的问题
群里的各位老师好,我想请教一个问题,关于《第007、008讲:了不起的分支和循环1、2》中,
“将x, y, z = 6, 5, 4
if x < y:
small = x
if z < small:
small = z
elif y < z:
small = y
else:
small = z
以三元操作符实现”之后的结果,我有些看不明白,请问大神指点。
变更后的脚本:“small = x if (x < y and x < z) else (y if y < z else z)”
请问,左边条件第二个 “and x < z”,这个条件是通过什么信息和逻辑得到的?
谢谢~!! and 是逻辑运算符,如果说两个条件中有一个为假则返回假 if (x < y and x < z) 如果x < y并且x < z,则x肯定是最小的,small等于x small = x if (x < y and x < z) else (y if y < z else z)
拆开之后是这样子的。
if x<y and x<z:
small=x
else:
if y<z:
small=y
else:
small=z
x<y and x<z就是两个逻辑表达式做与运算啊。 本帖最后由 Twilight6 于 2020-5-1 08:59 编辑
# 实例01:编程实现用户登录
# 提示登录的用户输入用户名和密码
# 如果用户名和密码都输入正确, 则提示“欢迎登录”
# 如果用户名或密码输入错误,则提示“用户名或密码输入错误”
# 假定用户名是:steven,密码是:123456
# 操作代码
username = input('请输入用户名:')
password = input('请输入用户密码:')
result = '登入成功!' if username == 'steven' and password == 123456 else '登入失败' # 三元操作符
print(result)
#实例02:编程实现输入两个不相等的数字,判断两个数字的大小
number1 = float(input('请输入一个数字:'))
number2 = float(input('请输入不同的数字:'))
print('number1 大于 number2' if number1 > number2 else 'number2 大于 number1') # 三元操作符
给你两个实例看看~
xxxif <条件> else yyy
xxx 是if条件成立后会打印的结果,yyy是if 条件不成立的结果
页:
[1]