流程控制语句

- 条件语句满足一个条件之后,剩余的代码块将不会再执行了,退出当前条件语句

- 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)]))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值