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改变

变量有初始值
有条件
变量迭代(不断改变)

登录最多允许输入密码三次
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 = [ii 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

posted @ 2020-10-28 13:15  .洛  阅读(187)  评论(0)    收藏  举报