############### if条件控制语句 ###############
# 以下实例 x 为 0-99 取一个数,y 为 0-199 取一个数,如果 x>y 则输出 x,如果 x 等于 y 则输出 x+y,否则输出y import random x=random.randint(0,100) y=random.randint(1,100) print(x,y) print('#'*30) if x>y: print(x) elif x==y: print(x+y) else: print(y)
############### 三元运算符 ###############
一、三元运算符 三元运算符就是在赋值变量的时候,可以直接加判断,然后赋值 格式:[on_true] if [expression] else [on_false] res = 值1 if 条件 else 值2 1.举例说明: a =1 b = 2 c= a if a>1 else b #如果a大于1的话,c=a,否则c=b 如果不用三元运算符,就用if-else条件判断,如下: a = 1 b = 2 if a >1: c = a else: c = b 2.三元运算符也可以用在列表和字典中 例:1-10的数字,打印出其中的偶数 三元运算: ss = [i for i in range(1,11) if i%2==0 ] #循环1-11间的值(不包括11),如果值能被2整除(即取偶数),就写到ss这个list中 print(ss) #最终打印结果 [2, 4, 6, 8, 10] if-else条件判断 s = [] for i in range(1,11): if i %2==0: s.append(i) print(s)
############### while循环语句 ###############
# 实例:使用了 while 来计算 1 到 100 的总和: # a=0 # total=0 # while a<=100: # total+=a # print(a) # a+=1 # print(total) # 无限循环 # 加法计算器 while True: print('1:加法 q:退出') option=input('请输入你的操作:') if option=='1': a=int(input('请输入a:(输入000退出)')) b= int(input('请输入b(输入000退出)')) c=a+b print('a+b=%d'%c) if option=='q': break
############### for循环语句 ###############
# 遍历列表 list1=['c','c++','java','python'] for i in range(4): # range是0-4,左开右闭, print(i,list1[i]) # 0-100的和 sum=0 for i in range(0,101): sum+=i print(i) print(sum)
####
for循环单行写法,注意一下细节,
list1 = [1,2,3,4] for i in list1:print(i) # 这样写是对的, # print(for i in list1:i) # 这样写是不对的,
##########################################
# 打印九九乘法表
print("\n".join("\t".join(["%s*%s=%s" %(x,y,x*y) for y in range(1, x+1)]) for x in range(1, 10)) ) for i in range(1,10): for j in range(1,i+1): print("%d * %d = %d "%(i,j,i*j),end='') print()
##########################################
# 列表推导式 # 30以内,所有能被3整除的数 print([i for i in range(31) if i%3 ==0]) # 30以内,所有能被3整除的数的平方 print([i*i for i in range(31) if i%3 ==0]) # 例题3:找到嵌套列表中名字含有两个‘e’的所有名字 names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'], ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']] # 方法一: 普通方法 l4 = [] for i in names: for j in i: if j.count('e') >= 2: l4.append(j) print(l4) # 方法二: 列表推导式方法 print([j for i in names for j in i if j.count('e') >= 2 ]) # 用一行构建代码 l1 = [i for i in range(1,101)] # 100以内所有的偶数写入列表. print([i for i in range(2, 101, 2)]) # 选出1-100中的奇数。 [i for i in range(100) if i % 2 != 0] list(range(100))[1::2] 可以通过切片的方式 # 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母 l1 = ['太白金星', 'fdsaf', 'alex', 'sb', 'ab'] l2 = [i.upper() for i in l1 if len(i) > 3] print(l2) 优点: 简单,快捷,装b 缺点: 可读性不高,不好排错
例题:
# [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6] a = [[1,2],[3,4],[5,6]] print([j for i in a for j in i ])
##########################################
##########################################