- 条件语句满足一个条件之后,剩余的代码块将不会再执行了,退出当前条件语句
- if必须有,elif可以为0或者多个,else可以为0或者1个
```python
url = 'www.imooc.com'
if 'www.imooc.com' in url:
print('你进入慕课网学习,请好好学习')
else:
print('请进入慕课学习')
if 'www.immoc.com' in url:
print('你进入慕课网学习,请好好学习')
else:
url = None
print('url is %s' % url)
a = 8
if a > 10:
print('a大于10')
elif 5< a <=10:
print("a在5~10之间")
elif 0< a <=5:
print("a在0~5之间")
else:
print('a是负数或者0')
users = [('xiaolan',18,90),('xiaoyun',17,98),
('xiaoming',19,96)]
xiaoming = ['xiaoming',19,87]
if users[0][0] == xiaoming[0]:
xiaoming[0]='%s_new'% xiaoming[0]
users.append(xiaoming)
elif users[1][0] == xiaoming[0]:
xiaoming[0]='%s_new'% xiaoming[0]
users.append(xiaoming)
elif users[2][0] == xiaoming[0]:
xiaoming[0]='%s_new'% xiaoming[0]
users.append(xiaoming)
else:
users.append(xiaoming)
print(users)
users = {'xiaolan':{'age':19,'count':90},
'xiaohua':{'age':18,'count':80},
'xiaoming':{'age':19,'count':97}}
xiaoming = ['xiaoming',19,87]
print(users)
if xiaoming[0] in users:
xiaoming[0]='%s_new'% xiaoming[0]
print(xiaoming)
users[xiaoming[0]] = {'age': xiaoming[1], 'count': xiaoming[2]}
else:
users[xiaoming[0]]={'age':xiaoming[1],'count':xiaoming[2]}
print(users)
```
输出:
你进入慕课网学习,请好好学习
url is None
a在5~10之间
[('xiaolan', 18, 90), ('xiaoyun', 17, 98), ('xiaoming', 19, 96), ['xiaoming_new', 19, 87]]
{'xiaolan': {'age': 19, 'count': 90}, 'xiaohua': {'age': 18, 'count': 80}, 'xiaoming': {'age': 19, 'count': 97}}
['xiaoming_new', 19, 87]
{'xiaolan': {'age': 19, 'count': 90}, 'xiaohua': {'age': 18, 'count': 80}, 'xiaoming': {'age': 19, 'count': 97}, 'xiaoming_new': {'age': 19, 'count': 87}}
- range函数,返回的是一个一定范围的可迭代对象,元素为整型,他不是列表,无法打印信息,但可循环
- for item in range(start,stop,step=1):
- else在for循环中的使用:
- else只有在for循环正常退出后执行
- 循环没有报错,没有中途停止
l = ['xiaoyun','mark','luck'] for i in l: print(i) for i in 'jja': print(i) t = ('kk','luck','lij') for i in t: if i == 'luck': print('helle ',i) else: print('=====') print('finish') users = {'name':'luck','age':19,'class':'B'} items = users.items() print(items) for key,value in users.items(): print(key,value) users_list = [{'name':'nancy'},{'name':'luck'}] for user in users_list: print(user) print(user.get('name')) print(user.get('age')) l =range(6) print(l,type(l)) for i in l: print(i) 1/0 else: print('for循环结束了')
- for循环中用remove时,必须从后向前删除,否则remove删除一个元素之后
- 后面的元素会自动覆盖到上一个被删除的元素位置上,此时for循环正向运行,会略过这个往前移的元素,继续往下走,造成遗漏
```python
a = [1,2,3]
b = [4,5]
for i in a:
print(i)
print('------')
for j in b:
print(i+j)
print(j)
print('=====')
print(i,j)
list01 = [3,6,8,9,10,36,24,35,200]
#使用for循环,删除列表中的偶数元素,即能被2整除的元素
#错误
for i in list01:
if i%2 == 0:
list01.remove(i)
print(list01)
#正确写法
for i in list01[::-1]:
if i%2 == 0:
list01.remove(i)
print(list01)
```
- while循环,在满足条件下无限循环,不满足条件退出循环
- 列表推导式【expression-表达式 for x in data-for循环 if condition-条件语句】
- 列表推导式生成20以内所有偶数的平方的列表
count = 0 total = 0 while count <=100: total += count count += 1 if count == 10: print('count已经到10了') if count == 50: print('count已经到50了') if count == 99: print('count已经到99了') print(total) users = ['mark','luck','pall','nancy'] index = 0 length = len(users) while index <= length-1: print(users[index]) index += 1 #列表推导式 print([x**2 for x in range(20) if x % 2 ==0 ]) #元组推导式 print((x**3 for x in range(20) if x % 2 != 0)) #结果是生成器对象,使用tuple()函数将其转换成元组 t_01 = tuple(x**3 for x in range(20) if x % 2 != 0) print(t_01) #这个是集合 print({x**3 for x in range(20) if x % 3 == 0}) print({x**3 for x in range(20) if x % 3 == 0}) #这个才是字典推导式 print({x:x*4 for x in range(20) if x%3 == 0})
#实现九九乘法表 #使用嵌套for循环方式 for i in range(1,10): for j in range(1,i+1): print('%s * %s = %s'%(i,j,i*j),end=' ') print() #使用while循环 i = 1 while i <=9: j = 1 while j <= i: print('{} * {} = {}'.format(i,j,i*j),end=' ') j += 1 continue i += 1 print() #使用列表推导式 print('\n'.join([' '.join([' {}*{}={}'.format(i,j,i*j) for j in range(1,i+1)]) for i in range(1,10)]))