三目运算符

一、三目运算符的基本语法

  不同语言的三目运算符的基本语法存在差异,以C语言和Python语言为例。

  1、通常一般语言如C语言的语言格式如下:

判断条件(返回布尔值) ? 为真时的结果 :为假时的结果

  实例:

#include<stdio.h>
int main(void)
{
    int x=2;
    x = x%2==0 ? x+1 : x;
    printf("%d",x);    
    return 0;
}

  2、Python中的语言格式如下(注意中间无冒号):

为真时的结果 if 判断条件 else 为假时的结果

  实例:

x = 2
x = x+1 if x%2==0 else x
print(x)

 

二、Python中三目运算符的用法  

  Python三目运算目的是得到一个结果,可以是返回值( return),也可以是赋值,使代码极大简洁.

  比如,实现一个基础版的斐波那契数列:

def fn(n):
    return n if n<2 else fn(n-1)+fn(n-2)
print(fn(10))  # 55

  再如,列表赋值:

li = []
n = int(input("输入一个整数:").strip())
li.append(n if n%2==0 else 0)
print(li)

  再来看一个典型的比较大小的实例:

a = 1
b = 2
print("输出较大的数:",a if a>b else b)

 

posted @ 2019-03-21 17:01  暮光微凉  阅读(888)  评论(0编辑  收藏  举报