coolplaylin 发表于 2023-1-12 13:31:22

if语句的一行流写法

本帖最后由 coolplaylin 于 2023-1-12 13:32 编辑

使用if-else一行流的写法简化你的代码
if-else语句的作用应该不用赘述了吧{:10_277:}
如果if-else语句判断的条件过多则可能造成代码十分冗长

让我来教你if-else的单行写法吧~

结构
值1 if 条件 else 值2也可以嵌套哦~

实践
例如算出一个数的绝对值,通常会这样写
number = int(input())
if number >= 0:
    value = number
else:
    value = -number
print(value)
但如果使用一行流写法,就可以这样写
number = int(input())
print(number if number >= 0 else -number)代码的占用空间直接减少了四行!!!{:10_275:}

挑战
将下列if-else写成单行形式
name = input("你的名字?")
if name == "小甲鱼":
    reply = "I love FishC"
elif name == "CoolPlayLin":
    reply = "今天的代码写了吗"
else:
    reply = "拒绝访问"
print(reply)

人造人 发表于 2023-1-12 13:45:49

感觉有3个值的时候,写成单行就不合适了

sh-5.1$ cat main.py
#!/usr/bin/env python
#coding=utf-8

name = input("你的名字?")
reply = "I love FishC" if name == "小甲鱼" else "今天的代码写了吗?" if name == "CoolPlayLin" else "拒绝访问"
print(reply)
sh-5.1$ ./main.py
你的名字?小甲鱼
I love FishC
sh-5.1$ ./main.py
你的名字?CoolPlayLin
今天的代码写了吗?
sh-5.1$ ./main.py
你的名字?人造人
拒绝访问
sh-5.1$

chinajz 发表于 2023-1-12 16:04:19

人造人 发表于 2023-1-12 13:45
感觉有3个值的时候,写成单行就不合适了

reply = "I love FishC" if name == "小甲鱼" else "今天的代码写了吗?" if name == "CoolPlayLin" else "欢迎访问"   if name == "人造人" else "拒绝访问"
print(reply)

人造人 发表于 2023-1-12 16:14:06

chinajz 发表于 2023-1-12 16:04


^_^

chinajz 发表于 2023-1-12 16:34:08

人造人 发表于 2023-1-12 16:14
^_^

才来学习,请多关照。
页: [1]
查看完整版本: if语句的一行流写法