2021-01-26

Python学习笔记Day2

语法
条件语句:

  if
  ''''''
  if - else  
  '''''''''''
  if - elif - elif-……-elif - else
  1. assert关键字:当其后边的条件为 False 时,程序自动崩溃并抛出 AssertionError的异常。

循环语句:

  1. while循环
while 布尔表达式:
    代码块
 #while循环的代码块会一直循环执行,直到布尔表达式的值为布尔假。

布尔表达式不带有<、>、==、!=、in、not in等运算符,仅仅给出数值之类的条件,也是可以的。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。也可以写入str、list或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。
2. while - else 循环

while 布尔表达式:
    代码块
else:
    代码块
  1. for 循环
for 迭代变量 in 可迭代对象:
    代码块
  1. for - else 循环
for 迭代变量 in 可迭代对象:
    代码块
else:
    代码块
  1. range() 函数
range([start,] stop[, step=1])

start:起始值
stop:终止值(不包括本身)
step:步长(默认为一)
括号括起来的两个表示这两个参数是可选的。
6. enumerate()函数

enumerate(sequence, [start=0])

sequence : 一个序列、迭代器或其他支持迭代对象
返回枚举对象
默认start(起始位置)为0

for i, language in enumerate(languages, 2):
    print(i, 'I love', language)
print('Done!')

'''
2 I love Python
3 I love R
4 I love Matlab
5 I love C++
Done!
'''
  1. break 语句
    跳出当前所在层的循环

  2. continue 语句
    终止本轮循环并开始下一轮循环

  3. pass 语句
    占位,使程序不报错

  4. 推导式
    列表推导式:

variable = [out_exp for out_exp in input_list if out_exp == 2]

out_exp_res:列表生成元素表达式,可以是有返回值的函数。
for out_exp in input_list:迭代input_list将out_exp传入out_exp_res表达式中。
if out_exp == 2:根据条件过滤哪些值可以。

【例子】

x = [-4, -2, 0, 2, 4]
y = [a * 2 for a in x]
print(y)
# [-8, -4, 0, 4, 8]
【例子】

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)]
【例子】

x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]
print(x)

# [3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]
【例子】

a = [(i, j) for i in range(0, 3) for j in range(0, 3)]
print(a)

# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
【例子】

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)

# [(0, 2)]

元组推导式:

(表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] )
【例子】

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

#  at 0x0000025BE511CC48>

print(tuple(a))

# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  1. 字典推导式
variable = {
     out_exp for out_exp in input_list if out_exp == 2}

和其它推导式的语法格式相比,唯一不同在于,字典推导式用的是大括号{}。

listdomn = ('你好','世界')
newlist = {
     key : vlaue  for key,vlaue in listdomn}
print(newlist)
  1. Python集合推导式
    集合推导式的语法格式和字典推导式完全相同,如下所示:
{
      表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] }

区分集合推导式与字典推导式:
根据表达式进行判断。如果表达式以键值对(key:value)的形式,则证明此推导式是字典推导式;反之,则是集合推导式。

练习

 for a in range(1500,2701,1):
    if a%7==0 and a%5==0:
        print(a,end=' ')
v1, v2, t, s, l = map(int, input().split())
L1 = l
L2 = l
i = 0
time = int(l/v2)
while L1 > 0 and L2 > 0:
    if L2 - L1 < t:
        L1 -= v1
        L2 -= v2
        i += 1
    else:
        L2 -= v2*s
        i += s
    if L1 <= 0 < L2:
        print('R')
        print(i)
        break
    elif L2 <= 0 < L1:
        print('T')
        print(time)
        break
    elif L1 <= 0 and L2 <= 0:
        if (L1+v1)/v1 > (L2+v2)/v2:
            print('R')
            print(i)
            break
        elif (L1+v1)/v1 < (L2+v2)/v2:
            print('T')
            print(time)
            break
        else:
            print('D')
            print(i)
            break

你可能感兴趣的:(Python学习,python)