python基础语法--逻辑实现

1.判断结果

# ....

if 条件:

  成立时执行的代码....

if a> b:

  print('a大') # 如果...否则...

if a > b:

  print('a的值大') else:

  print('b的值大')

# 如果...多个或者 否则

if chengji >= 90:    # 成绩=95 -->优秀!

  print('优秀')

elif chengji>=80:   # 成绩=75 ---> 中等

  print('良好')

elif chengji>=60:

  print('中等')

else:

  print('不及格')

返回false的情况

none,    ‘  ’  ,    0 ,      空容器(空列表,空字典.....)

2.循环

while

# 必不可少的3个关键语法

i = 1 while(i<=3):

  ......

  i +=1 #i改变

  1. 变量有初始值
  2. 有条件
  3. 变量迭代(不断改变)

登录最多允许输入密码三次

def demo7():

  '''登陆验证实现:最多允许错误输入3次!'''

  i = 1

  while(i<=3):

    name = input('请输入用户名:')

    pwd =input('请输入密码:')

    if name=='admin' and pwd =='123':

      print('成功')

      break #停止循环! containue: 停止本次循环!

    else:

      print(f'用户名或密码错误,还有{3-i}次机会')

      i = i+1

  print('结束!')

for...in

编列列表,字典,元组,字符串

for 临时变量名 in 变量

  代码...

  # 遍历字典

  d01= {'zhangsan':'张三','lisi':'李四','wangwu':'王五','tom':'汤姆'}

   for key in d01: #字典编列时,获取是key值

    print(d01[key])

范围,经常在循环中使用

class range(stop)

class range(start, stop[, step])

  start:表述数字序列开始值,如果该参数没有被提供则值为0

  stop: 数字序列结束值

  stop: 数字序列步长,如果该参数没有被提供则值为1

#0-10的列表

list(range(10)

技巧

def demo11():

'''技巧2:同时编列key和value!'''

  d01 = {'zhangsan': '张三', 'lisi': '李四', 'wangwu': '王五', 'tom': '汤姆'}

  print(d01.items()) # [(),(),()]

  for k,v in d01.items():

  print(f'名字{k},值:{v}')

# 技巧3: 同时打印列表的序号/索引 和 值

  list01 = ['张三','李四','王五']

   for i, v in enumerate(list01):

  print(f'索引{i},值:{v}')

# 技巧4: zip函数 同时遍历多个列表

  names = ['小王','小李','小张']

  ages = [20, 22, 24]

# 同时循环取对应的值

  for name,age in zip(names,ages):

  print(f'名字:{name},年龄:{age}')

# 技巧5 : 列表翻转

  for i in reversed(names):

   print(i)

# 技巧6:排序

  list01 = ['c','a','z','h']

  list02 = sorted(list01)

  print(list02)

  for i in list02:

    print(i)

 

# 技巧7;列表推倒式-->生成新列表

#技巧:列表推倒式

list01 = range(10) # 0---9 list02 = [i*i for i in list01]

print(list02) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

list03 = [i*i for i in list01 if i%2==0 and i>2]

退出循环:break

退出本次循环:continue

原文地址:https://www.cnblogs.com/xyh10201117/p/13889325.html