条件判断
total = 32.0
#条件判断可以任意组合 elif 可以有0到多个,else可有可无
#条件判断可以任意嵌套
if total > 25.0:
dist = 0.9
elif total > 30:
dist = 0.8
else:
dist = 1.0
cost = total*dist
print('实际花费:{}'.format(cost))
实际花费:28.8
字符串可以当做条件判断,表示有与无的关系
condition = ''
if condition:
print('True')
else:
print('False')
and or not
#bool型变量做运算
a = True
b = False
print(a and b)
print(a or b)
print(not b)
#非bool型变量运算
a = 'Hello World'
b = [1, 2, 3]
#and运算只有在b运算成之后,才会输出结果b
print('a and b is {}'.format(a and b))
#or运算只a运算成之后,才会输出结果a
print('a or b is {}'.format(a or b))
#not运算 非bool型变量返回的只能是True和False
print(not [])
循环
#for 遍历循环 while 条件循环
costs = [10,36,236,985,1,106]
for c in costs:
print("花销 {} 元".format(str(c)).center(10))
#while循环,生产一个随机列表
import random
var = []
while len(var)<20:
var.append(random.randint(1,100))
print(var)
var = []
for i in range(1,20):
var.append(i)
print(var)
#当9不在列表中的时候,就退出循环
var = []
while 9 not in var:
var.append(random.randint(1,10))
print(var)
花销 10 元
花销 36 元
花销 236 元
花销 985 元
花销 1 元
花销 106 元
[18, 36, 67, 60, 97, 37, 24, 54, 77, 78, 77, 86, 51, 61, 25, 40, 40, 70, 46, 20]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[6, 4, 7, 8, 6, 10, 2, 3, 2, 10, 2, 1, 9]
推导式
#for循环推导式,从一种序列构建另外一种序列
var = list(range(10))
print(var)
new_var = []
for v in var:
new_var.append(v*10)
print(new_var)
#推导式写法
new_var = [v*10 for v in var]
print(new_var)
#字典推导式
var = list(range(10))
dict_var = {v:'A' for v in var}
print(dict_var)
#元组推导式
var_tuple = (v*10 for v in var)
print(var_tuple)
#生成器
print(tuple(var_tuple))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
{0: 'A', 1: 'A', 2: 'A', 3: 'A', 4: 'A', 5: 'A', 6: 'A', 7: 'A', 8: 'A', 9: 'A'}
<generator object <genexpr> at 0x000000D2D8ABEEB0>
(0, 10, 20, 30, 40, 50, 60, 70, 80, 90)
aaa