流程控制

流程控制

  1. if...else判断:
  2. while 循环
  3. for 循环

ps:缩进表示代码块的归属,同一级别的代码快由上至下一次执行。

 if 判断:

  • 作用:让计算机像人一样具有判断事物对错的逻辑,然后执行相应的步骤
  • 语法:

   1. if 条件 :  #条件为True执行代码块

      代码块1

      代码块2

       ......     # 代码1与代码2为为统一缩进级别的代码块,同一级别的代码快由上至下一次执行。

   2. if 条件 : 

      代码块1

      代码块2

      ......

    else:# 当if条件为False时 执行

      代码3

      代码4

      ...... 

   3. if 条件 : 

      代码块1

      代码块2

      ......

    elif 条件: # 当if条件为False时 执行

      代码快3

      代码快4

      ......

    else: #  当if条件和elif条件都为False时 执行

      代码5

      代码6

      ...... 

    4.  if 嵌套  # if语句里可以嵌套if语句,进行进一步的逻辑判断

例:

#判断 如果是凉果汁饮料,就很好喝
drink = 'beverages'
kind = 'ade'
is_icy = True

if drink == 'beverages' and kind == 'ade' and is_icy:
    print('爽,好喝')
>>> 爽,好喝
#判断 如果是凉果汁饮料,就很好喝,否则就不喝
drink = 'beverages'
kind = 'ade'
is_icy = False

if drink == 'beverages' and kind == 'ade' and is_icy:
    print('爽,好喝')
else:
    print('不喝!')
>>>不喝!
#判断 如果是凉果汁饮料,就很好喝,如果是5元以下的就喝,否则就不喝
drink = 'beverages'
kind = 'ade'
price = 5
is_icy = True


if drink == 'beverages' and price > 10 and kind == 'ade' and is_icy:
    print('爽,好喝')
elif drink == 'beverages' and price <= 5 and kind == 'ade' and is_icy:
    print('')
else:
    print('不喝!')
>>> 喝

练习:

#周一到周五上班,周六日出去浪

#方法一:
today = input('today:') # 获得用户输入
if today == 'monday'or \
    today == 'Tuesday'or \
    today == 'Wednesday'or \
    today == 'Thursday'or \
        today == 'Friday':
    print('苦逼上班')
elif today == 'Saturday' or\
        today == 'Sunday':
    print('出去浪')

#方法二:
today = input('today:')
if today !=  'Saturday' or\
        today != 'Sunday':
    print('苦逼上班‘)
elseprint('出去浪')

#方法三:
job = ['Monday','Tuesday','Wednesday','Thursday','Friday']
play = ['Saturday','Sunday']
today = input('today:')
if today in job: #判断输入的是否是列表job里的元素
    print('上班')
elif today in play:
    print('')
if 判断:周一到周五上班,周六日出去浪
# 成绩判断:
grade = int(input('输入成绩:'))

if grade >= 90:
    print('优秀')
elif grade >= 80: # 当执行此行代码时,说明成绩不满足90分
    print('')
elif grade >= 60:
    print('合格')
else:
    print('不合格,补考!')
if 判断成绩
# 用户登录:
use_name = 'waller' 
pass_word = '123'  # 定义用户名和密码

un = input('用户名:')
pw = input('密码:')

if un == use_name and pw == pass_word: 
    print("welcome %s" %(un))
else:
    print("用户名或密码错误")
if 判断用户登录

 whlie 循环

 

  • 作用:循环判断
  • 语法

  1. while 条件 :

    代码快1

    代码块2

    ......

   2. while + break:

   while 条件:

    代码块3

    代码块4

    ......

    break  # 强行终止循环并退出循环。

   print()

  3. while + continue:

    while 条件:

    代码块5

    代码块6

    ......

    continue  # 跳出当此循环,直接进行下一次循环

   print()

  4. while循环嵌套

   while 条件:

      代码块

      while 条件:

         代码块

         while 条件:

            代码块

            ......

例:

# while 循环取1-10
 count = 1
 while count <= 10:
     print(count)
     count += 1
# 三次机会猜测年龄
age = 50
count = 0
while count < 3: #利用while的条件,当条件不成立时,循环结束,否则执行
    guess_age = int(input("年龄:"))
    count += 1
    if guess_age > age:
        print("大了")
    elif guess_age < age:
        print("小了")
    else:   # 此处也可以用 elif guess_age == age:
        print("对了")
        break  # 猜对后直接退出循环
# 输出1-10 ,4不打印 
#方法一:
count = 1
 while count <= 10:
     if count == 4:
         count += 1
         continue
     print(count)
     count += 1

#方法二:
count = 1
while count <= 10 :
    if count != 4:
        print(count)
    count += 1

练习:

user_name = 'waller'
pass_word = '123'
count = 1
while count <= 3:
    u_n = input('your name>>>:')
    p_w = input('your pw>>>:')
    if u_n == user_name and p_w == pass_word :
        print('welcome %s' %u_n)
        break
    else:
        print('用户名或密码错误')
        count += 1
else:
    print('账号锁定')
用户尝试三次登录,若三次都不对,直接退出程序。
name = 'waller'
world = 123
count = 1
while count <= 3:
    un = input('your mane>>>:')
    pw = int(input('your world>>>:'))
    if un == name and pw == world:
        print('welcome %s' %un)
        break
    elif count == 3:
        cmd = input('是否继续 Y/N>>>:')
        if cmd == 'Y':
            count = 0
        else:
            break
    else:
        print('用户名或密码错误')
        count += 1


user_name = 'waller'
pass_word = '110'
count = 1
flag = True
while flag:
    un = input('用户名:').strip()
    pw = input('密码:').strip()
    if un == user_name and pw == pass_word:
         print('登陆成功')
         break
    elif count == 3:
        Once_again = input('是否继续尝试 y/n>>:').strip().upper()
        if Once_again == 'y':
            count = 1
            break
        elif Once_again == 'n':
            flag = not flag
    else:
        print('用户名或密码错误 *%d'%count)
        count += 1
用户登录,若三次账号密码错误询问是否继续,继续再给三次机会,否则退出

了解:while...esle...

  只有当while的条件正常结束时,才会执行else,break结束的while不会执行else

 for 循环

  for循环一般用于遍历元组、集合、列表这种数据类型里面的所有元素。(字典只会遍历key)

  简单的for循环结构(不同于while循环容易变成无限循环,for循环遍历完或中止便会结束运行)

a = ('ppap','hello,world','phone')
for b in a:
    print (b)

for b in len(a): 
    print(b)
len()  # 获取数据类型(容器类型)的个数,字符串是特例 获取的是字符串中字符的个数

  for + break

  如果想中止于某个元素前,可以在for循环中加入break函数#

a = ['ppap','hello,world','phone','hello','zero']
for b in a:
    if b == 'phone':
        break
    print (b,end=';')

  for + continue

  如果遍历时想跳过某个元素,用continue函数即可

a = ['ppap','hello,world','phone','hello','zero']
for b in a:
    if b == 'phone':
        continue
    print (b,end=';')

ps: range 顾头不顾尾


range在python2与python3中的区别

python2中
1.range其实就是一个列表
2.xrange其实就是你python3中的range

python3中range是一个老母猪,你需要值的时候我才给你

#
生成数字串(range中最后一个数字不会出现,左边那个数字为起始数)# for a in range(20, 30): print(a, end='|') # 也可以生成递增和递减的等差数列# for a in range(20, 31, 2): print(a, end='|') for a in range(60, 49, -2): print(a, end='|') # 也可以等差取出数据里的元素# a = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ] for b in range(0, len(a), 2): #range 取的是list的索引 print(a[b], end='|')

 

posted @ 2019-07-02 17:28  waller  阅读(133)  评论(0编辑  收藏  举报