python学习:三目运算符
一、三目运算符的基本语法
不同语言的三目运算符的基本语法存在差异,以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)