Python也有自己的三目运算符:
条件为真时的结果 if 判段的条件 else 条件为假时的结果
即:Python可以通过if
语句来实现三目运算符的功能,因此可以把这种if
语句当做三目运算符,具体语法格式如下:
返回True执行 if 表达式 else 返回False执行
假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用 if else 语句,例如:
1 2 3 4 |
|
但是 Python 提供了一种更加简洁的写法,如下所示:
max = a if a>b else b
python 代码如下“”
a = 5
b = 6
max = a if a > b else b
print(max)
c = 8
d = 10
if a > b:
max2 = c
else:
max2 = d
print(max2)
结果:?
6
10
pycharm环境下示例截图:?
?以下为循环语句:
一、Python之for循环
Python的 for 循环就可以依次把list或tuple的每个元素迭代 出来:
a=['abc','efg','hij'] for name in a: print (name)
name这个变量是在 for 循环中定义的,意思是,依次 取出list中的每一个元素,并把元素赋值给 name,然后执 行for循环体(就是缩进的代码块)。 这样一来,遍历一个list或tuple就非常容易了。
二、Python之 while循环
和 for 循环不同的另一种循环是 while 循环,while 循环不 会迭代 list 或 tuple 的元素,而是根据表达式判断循环是 否结束。 比如要从 0 开始打印不大于 N 的整数:
N=10
x=0
while x<=N:
? ? print( x)
? ? x=x+1
while循环每次先判断 x < N,如果为True,则执行循环体 的代码块,否则,退出循环。
在循环体内,x = x + 1 会让 x 不断增加,最终因为x < N 不 成立而退出循环。
如果没有这一个语句,while循环在判断 x < N 时总是为 True,就会无限循环下去,变成死循环,所以要特别留 意while循环的退出条件。
三、Python之 break退出循环
用 for 循环或者 while 循环时,如果要在循环体内直接退 出循环,可以使用 break 语句。 比如计算1至100的整数和,我们用while来实现:
sum = 0 x = 1 while True: sum = sum + x x = x + 1 if x > 100:#此例为计算1+2+...+100从1加到100 break print(sum)
乍一看, while True 就是一个死循环,但是在循环体内, 我们还判断了 x > 100 条件成立时,用break语句退出循环, 这样也可以实现循环的结束。
四、Python之 continue继续循环
在循环过程中,可以用break退出当前循环,还可以用 continue跳过后续循环代码,继续下一次循环。
假设我们已经写好了利用for循环计算平均分的代码:
L=[75,35,40,80,90,55,60,83]
sum=0.0
n=0
for x in L:
? ? sum=sum+x
? ? n=n+1
print (sum/n)
现在老师只想统计及格分数的平均分,就要把 x < 60 的 分数剔除掉,这时,利用 continue,可以做到当 x < 60的 时候,不继续执行循环体的后续代码,直接进入下一次 循环:
L3 = [75, 35, 40, 80, 90, 55, 60, 83] sum3 = 0.0 n = 0 for x in L3: if x<60: continue sum=sum+x n=n+1 print (sum/n)
五、Python之多重循环
在循环内部,还可以嵌套循环,我们来看一个例子
for x in ['a','b','c']:
? ? for y in ['1','2','3']:
? ? ? ? print x+y
x 每循环一次,y 就会循环 3 次,这样,我们可以打印出 一个全排列
代码及运行结构如下:
a=['abc','efg','hij']
for name in a:
print (name)
sum = 0
x = 1
while True:
sum = sum + x
x = x + 1
if x > 100:#此例为计算1+2+...+100从1加到100
break
print(sum)
N=10
x=0
while x<=N:
print(x)
x=x+1
L2=[75,35,40,80,90,55,60,83]
sum2=0.0
n=0
for x in L2:
sum2=sum2+x
n=n+1
print (sum2/n)
L3 = [75, 35, 40, 80, 90, 55, 60, 83]
sum3 = 0.0
n = 0
for x in L3:
if x<60:
continue
sum=sum+x
n=n+1
print (sum/n)
abc
efg
hij
5050
0
1
2
3
4
5
6
7
8
9
10
75.0
55.0
50.0
57.5
64.0
62.5
62.142857142857146
64.75
进程已结束,退出代码为 1
?
?