天池龙珠-python-task1 二

三、条件语句

if 条件:

执行语句

elif 条件:

执行语句

else:

执行语句

可嵌套:

a = int('11')
if    8<a<=10:
  if a ==10:
     print('a ==10')
elif a<8:
     print('a is' + ' '+str(a))
else:
      print('a is' + ' '+str(a)+'!')

输出 a is 11 !

assert:

assert 条件语句 只有条件语句为True才继续运行

while:

while 条件语句:

代码块

条件语句为False停止循环

str="qweasdzxc"
while str:
    print(str)
    str =str[0:]

成功写出一个死循环/(ㄒoㄒ)/~~

while-else:

while 条件语句:

代码块

else:

代码块

while中break后执行else中的代码

和php或java、javascript比 没有用大括号抱起来 else可以判断while的结束位置

for:

for 迭代变量 in 可迭代对象

代码块

value可以是任何有序序列

str=True
for i in str:
	print(i,end='&')

 布尔值为非有序序列 所以会报错

对象循环:

objs={'a':1,'b':'qwe','c':True}
for k,v in objs.items():
	print(k,v,sep=":",end=" ")

for-else:

for 迭代变量 in 可迭代对象

代码块

else:

代码块

range():

range([start,] stop[, step=1])
  • 这个BIF(Built-in functions)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
  • step=1 表示第三个参数的默认值是1。
  • range 这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列,该序列包含start的值但不包含stop的值

enumerate:

enumerate(sequence, [start=0])
  • sequence:一个序列、迭代器或其他支持迭代对象。
  • start:下标起始位置。
  • 返回 enumerate(枚举) 对象
ran = range(1,10,3)
for i in ran:
	print(i)
else:
	ran1 = enumerate(ran)
	for k,v in ran1:
		print(k,v,sep=":")

这样写可以正常执行

ran1前面没空格会报错

ran1在上述位置 不加else会执行三遍

ran1前面没空格 不加else仅执行一遍

故在前面没空格 则认为是前面的语句执行完成

break:跳出循环

continue:执行下一次循环

pass:

非执行语句

if 1>0:
	pass
	print(123)

不输出任何代码

推导式:

列表推导式

[ expr for value in collection [if condition] ]
x = [i ** 2 for i in range(1, 10)]
print(x)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]


x = [(i, i ** 2) for i in range(6)]
print(x)

# [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]

nums = range(1,100)
#获取偶数个数
nums1 = [i for i in nums if (i%2)==0]
print(nums1,len(nums1))

x = [[i, j] for i in range(0, 3) for j in range(0, 3)]
print(x)
# [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]

x[0][0] = 10
print(x)
# [[10, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]

a = [(i, j) for i in range(0, 3) if i < 1 for j in range(0, 3) if j > 1]
print(a)

元组推导式:

( expr for value in collection [if condition] )

a = (x for x in range(10))
print(a)

# <generator object <genexpr> at 0x0000025BE511CC48>

print(tuple(a))

# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

字典推导式:

{ key_expr: value_expr for value in collection [if condition] }

b = {i: i % 2 == 0 for i in range(10) if i % 3 == 0}
print(b)
# {0: True, 3: False, 6: True, 9: False}

集合推导式:

{ expr for value in collection [if condition] }

c = {i for i in [1, 2, 3, 4, 5, 5, 6, 4, 3, 2, 1]}
print(c)
# {1, 2, 3, 4, 5, 6}

其他:

next(iterator[, default])

返回并删除集合中的下一个

e = (i for i in range(10))
print(e)
# <generator object <genexpr> at 0x0000007A0B8D01B0>

print(next(e))  # 0
print(next(e))  # 1

for each in e:
    print(each, end=' ')

# 2 3 4 5 6 7 8 9

s = sum([i for i in range(101)])
print(s)  # 5050
s = sum((i for i in range(101)))
print(s)  # 5050

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsswear

感谢大佬打赏 q(≧▽≦q)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值