python全栈开发【第四篇】Python流程控制

十二 流程控制之if…else

既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟。人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了。对于逻辑运算,即人根据外部条件的变化而做出不同的反映,比如
1 如果:女人的年龄>30岁,那么:叫阿姨
age_of_girl=31
if age_of_girl > 30:
print(‘阿姨好‘) 

2 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐

age_of_girl=18
if age_of_girl > 30:
print(‘阿姨好‘)
else:
print(‘小姐好‘)

  

3 如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨

age_of_girl=18
height=171
weight=99
is_pretty=True
if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:
print(‘表白…‘)else:
print(‘阿姨好‘)

在表白的基础上继续:
如果表白成功,那么:在一起
否则:打印。。。

age_of_girl=18
height=171
weight=99
is_pretty=True

success=False

if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:
if success:
print(‘表白成功,在一起‘)
else:
print(‘什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊…‘)
else:
print(‘阿姨好‘)

  

4 如果:成绩>=90,那么:优秀
   如果成绩>=80且<90,那么:良好
   如果成绩>=70且<80,那么:普通
   其他情况:很差
score=input(‘>>: ‘)
score=int(score)

if score >= 90:
print(‘优秀‘)
elif score >= 80:
print(‘良好‘)
elif score >= 70:
print(‘普通‘)
else:
print(‘很差‘)

  if 条件1:

    缩进的代码块

  elif 条件2:

    缩进的代码块

  elif 条件3:

    缩进的代码块

  ……

  else:  

    缩进的代码块

  

!/usr/bin/env python

name=input(‘请输入用户名字:‘)
password=input(‘请输入密码:‘)

if name == ‘egon‘ and password == ‘123‘:
  print(‘egon login success‘)
else:
  print(‘用户名或密码错误‘)练习一:用户登陆验证

  

#!/usr/bin/env python
#根据用户输入内容打印其权限

‘‘‘
egon --> 超级管理员
tom  --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户
‘‘‘
name=input(‘请输入用户名字:‘)

if name == ‘egon‘:
    print(‘超级管理员‘)
elif name == ‘tom‘:
    print(‘普通管理员‘)
elif name == ‘jack‘ or name == ‘rain‘:
    print(‘业务主管‘)
else:
    print(‘普通用户‘)

练习二:根据用户输入内容输出其权限
# 如果:今天是Monday,那么:上班
# 如果:今天是Tuesday,那么:上班
# 如果:今天是Wednesday,那么:上班
# 如果:今天是Thursday,那么:上班
# 如果:今天是Friday,那么:上班
# 如果:今天是Saturday,那么:出去浪
# 如果:今天是Sunday,那么:出去浪

#方式一:
today=input(‘>>: ‘)
if today == ‘Monday‘:
    print(‘上班‘)
elif today == ‘Tuesday‘:
    print(‘上班‘)
elif today == ‘Wednesday‘:
    print(‘上班‘)
elif today == ‘Thursday‘:
    print(‘上班‘)
elif today == ‘Friday‘:
    print(‘上班‘)
elif today == ‘Saturday‘:
    print(‘出去浪‘)
elif today == ‘Sunday‘:
    print(‘出去浪‘)
else:
    print(‘‘‘必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ‘‘‘)

#方式二:
today=input(‘>>: ‘)
if today == ‘Saturday‘ or today == ‘Sunday‘:
    print(‘出去浪‘)

elif today == ‘Monday‘ or today == ‘Tuesday‘ or today == ‘Wednesday‘     or today == ‘Thursday‘ or today == ‘Friday‘:
    print(‘上班‘)

else:
    print(‘‘‘必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ‘‘‘)

#方式三:
today=input(‘>>: ‘)
if today in [‘Saturday‘,‘Sunday‘]:
    print(‘出去浪‘)
elif today in [‘Monday‘,‘Tuesday‘,‘Wednesday‘,‘Thursday‘,‘Friday‘]:
    print(‘上班‘)
else:
    print(‘‘‘必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ‘‘‘)

练习三

  

十三 流程控制之while循环

1 为何要用循环

上节课我们已经学会用if .. else 来猜年龄的游戏啦,但是只能猜一次就中的机率太小了,如果我想给玩家3次机会呢?就是程序启动后,玩家最多可以试3次,这个怎么弄呢?你总不会想着把代码复制3次吧。。。。

age_of_oldboy = 48

guess = int(input(">>:"))

if guess > age_of_oldboy : 
print("猜的太大了,往小里试试…")

elif guess < age_of_oldboy : 
print("猜的太小了,往大里试试…")

else: 
print("恭喜你,猜对了…")

第2次 
guess = int(input(">>:"))

if guess > age_of_oldboy : 
print("猜的太大了,往小里试试…")

elif guess < age_of_oldboy : 
print("猜的太小了,往大里试试…")

else: 
print("恭喜你,猜对了…")

第3次 
guess = int(input(">>:"))

if guess > age_of_oldboy : 
print("猜的太大了,往小里试试…")

elif guess < age_of_oldboy : 
print("猜的太小了,往大里试试…")

else: 
print("恭喜你,猜对了…")

即使是小白的你,也觉得的太low了是不是,以后要修改功能还得修改3次,因此记住,写重复的代码是程序员最不耻的行为。 
那么如何做到不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦

2 条件循环:while,语法如下

while 条件: 
循环体

 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
 如果条件为假,那么循环体不执行,循环终止

打印0-10 
count=0 
while count <= 10: 
print(‘loop‘,count) 
count+=1

打印0-10之间的偶数 
count=0 
while count <= 10: 
if count%2 == 0: 
print(‘loop‘,count) 
count+=1

打印0-10之间的奇数 
count=0 
while count <= 10: 
if count%2 == 1: 
print(‘loop‘,count) 
count+=1

3 死循环

import time 
num=0 
while True: 
print(‘count‘,num) 
time.sleep(1) 
num+=1   
4 循环嵌套与tag

  tag=True

  while tag:

    ……

    while tag:

      ……..

      while tag:

        tag=False

练习,要求如下: 
1 循环验证用户输入的用户名与密码 
2 认证通过后,运行用户重复执行命令 
3 当用户输入命令为quit时,则退出整个程序

实现一: 
name=‘egon‘ 
password=‘123‘

while True: 
inp_name=input(‘用户名: ‘) 
inp_pwd=input(‘密码: ‘) 
if inp_name == name and inp_pwd == password: 
while True: 
cmd=input(‘>>: ‘) 
if not cmd:continue 
if cmd == ‘quit‘: 
break 
print(‘run <%s>‘ %cmd) 
else: 
print(‘用户名或密码错误‘) 
continue 
break

实现二:使用tag 
name=‘egon‘ 
password=‘123‘

tag=True 
while tag: 
inp_name=input(‘用户名: ‘) 
inp_pwd=input(‘密码: ‘) 
if inp_name == name and inp_pwd == password: 
while tag: 
cmd=input(‘>>: ‘) 
if not cmd:continue 
if cmd == ‘quit‘: 
tag=False 
continue 
print(‘run <%s>‘ %cmd) 
else: 
print(‘用户名或密码错误‘)

4 break与continue

break用于退出本层循环 
while True: 
print "123" 
break 
print "456"

continue用于退出本次循环,继续下一次循环 
while True: 
print "123" 
continue 
print "456"

5 while+else

与其它语言else 一般只与if 搭配不同,在Python 中还有个while …else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句 
count = 0 
while count <= 5 : 
count += 1 
print("Loop",count)

else: 
print("循环正常执行完啦") 
print("-----out of while loop ------") 
输出 
Loop 1 
Loop 2 
Loop 3 
Loop 4 
Loop 5 
Loop 6 
循环正常执行完啦 
-----out of while loop ------

如果执行过程中被break啦,就不会执行else的语句啦 
count = 0 
while count <= 5 : 
count += 1 
if count == 3:break 
print("Loop",count)

else: 
print("循环正常执行完啦") 
print("-----out of while loop ------") 
输出

Loop 1 
Loop 2 
-----out of while loop ------

6 while循环练习题
  1. 使用while循环输出1 2 3 4 5 6 8 9 10
  2. 求1-100的所有数的和
  3. 输出 1-100 内的所有奇数
  4. 输出 1-100 内的所有偶数
  5. 求1-2+3-4+5 … 99的所有数的和
  6. 用户登陆(三次机会重试) 
    7:猜年龄游戏 
    要求: 
    允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出 
    8:猜年龄游戏升级版 
    要求: 
    允许用户最多尝试3次 
    每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序 
    如何猜对了,就直接退出

题一 
count=1 
while count <= 10: 
if count == 7: 
count+=1 
continue 
print(count) 
count+=1

count=1 
while count <= 10: 
if count != 7: 
print(count) 
count+=1

题目二 
res=0 
count=1 
while count <= 100: 
res+=count 
count+=1 
print(res)

题目三 
count=1 
while count <= 100: 
if count%2 != 0: 
print(count) 
count+=1

题目四 
count=1 
while count <= 100: 
if count%2 == 0: 
print(count) 
count+=1

题目五 
res=0 
count=1 
while count <= 5: 
if count%2 == 0: 
res-=count 
else: 
res+=count 
count+=1 
print(res)

题目六 
count=0 
while count < 3: 
name=input(‘请输入用户名:‘) 
password=input(‘请输入密码:‘) 
if name == ‘egon‘ and password == ‘123‘: 
print(‘login success‘) 
break 
else: 
print(‘用户名或者密码错误‘) 
count+=1

题目七 
age_of_oldboy=73

count=0 
while count < 3: 
guess=int(input(‘>>: ‘)) 
if guess == age_of_oldboy: 
print(‘you got it‘) 
break 
count+=1

题目八 
age_of_oldboy=73

count=0 
while True: 
if count == 3: 
choice=input(‘继续(Y/N?)>>: ‘) 
if choice == ‘Y‘ or choice == ‘y‘: 
count=0 
else: 
break

guess=int(input(‘>>: ‘))
if guess == age_of_oldboy:
    print(‘you got it‘)
    break
count+=1

十四 流程控制之for循环

1 迭代式循环:for,语法如下 
  for i in range(10): 
    缩进的代码块 
2 break与continue(同上) 
3 循环嵌套 
for i in range(1,10): 
for j in range(1,i+1): 
print(‘%s%s=%s‘ %(i,j,ij),end=‘ ‘) 
print() 
for+else

原文地址:https://www.cnblogs.com/xiaohema/p/8452959.html

时间: 2024-10-11 19:07:47

python全栈开发【第四篇】Python流程控制的相关文章

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

Python 全栈开发【第一篇】:目录

Python 全栈开发[第0篇]:目录 第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基础语法入门 Python 全栈开发[第三篇]:数据类型.字符编码.文件操作 第二阶段:函数编程&常用标准库 Python 全栈开发[第四篇]:函数.递归.生成器.迭代器 Pyhton 全栈开发[第五篇]:常用模块学习 第三阶段:面向对象编程&网络编程基础 Python 全栈开发[第六篇]:面向对象

python全栈开发【第一篇】Python简介以及入门

一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python's Flying Circus.他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言. 最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美.清晰.简单,是一个优秀并广泛使用

python全栈开发【第九篇】Python常用模块一(主要是re正则和collections)

一.认识模块  什么是模块:一个模块就是一个包含了python定义和声明的文件,文件名就是加上.py的后缀,但其实import加载的模块分为四个通用类别 : 1.使用python编写的代码(.py文件) 2.已被编译为共享库二和DLL的C或C++扩展 3.包好一组模块的包 4.使用C编写并连接到python解释器的内置模块  为何要使用莫模块? 如果你想退出python解释器然后重新进入,那么你之前定义的函数或变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时,就通过python

python全栈开发【第二篇】Python数据类型

数字类型和字符串类型 1.bin()函数将十进制转换成而进制 2.oct()函数将十进制转换成八进制 3.hex()函数将十进制转换成十六进制 十六进制表示:0-9 a b c d e f 4.数字类型的特性: 只能存放一个值 一经定义,不可更改 直接访问 分类:整型,布尔,浮点,复数 5.字符串类型 引号包含的都是字符串类型 S1='hello world'  s="hello world" s2="""hello world""&q

Python全栈开发记录_第一篇

Python全栈开发记录只为记录全栈开发学习过程中一些难和重要的知识点,还有问题及课后题目,以供自己和他人共同查看.(代码行数:70行) 知识点1:优先级:not>and 短路原则:and:如果第一个条件的结论为假,那么 and 前后两个条件组成的表达式计算结果一定为假,后面的条件计算机不会进行计算 or:如果第一个条件的结论为真,那么or 前后两个条件组成的表达式计算结果一定为真,后面的条件计算机不会进行计算 知识点2:python区分大小写,常量需全部字母大写(默认这样写) python换行

Python全栈开发【基础四】

Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 匿名函数 lambda表达式:对于简单的函数,存在一种简便的表示方式,即lambda表达式 1 #这段代码 2 def calc(n): 3 return n**n 4 print(calc(10)) 5 6 #换成匿名函数 7 calc = lambda n:n**n 8 print(calc(10)) 匿名函数主要是和其它函数搭配使用 举例: 1 ########

python全栈开发-Day8 函数基础

python全栈开发-Day8 函数 一 .引子 1. 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需要找出所有实现该功能的地方修改之,无法统一管理且维护难度极大  2. 函数是什么? 针对二中的问题,想象生活中的例子,修理工需要实现准备好工具箱里面放好锤子,扳手,钳子等工具,然后遇到锤钉子的场景,拿来锤子用就可以,而无需临时再制造一把锤子. 修理工===>程序员 具备某一功能的工具===>函数

Python全栈开发

Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理. 1.不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打印出end,要实现这样一个功能该怎么实现?看下面如何用

python全栈开发学习目录

python全栈开发学习目录 第一章 计算机基础 第二章Python入门 第三章数据类型 第四章文件操作 第五章函数 第六章 模块 第七章 面向对象 第八章 网络编程 第九章 并发编程 第十章 数据库 第十一章 前端开发-html 第十一章 前端开发-css 附加:js特效 15个小demo 第十一章 前端开发-JavaScript 第十一章 前端开发-jQuery 第十一章 前端开发-bootstrap 第十二章 Django框架开发 ... 原文地址:https://www.cnblogs.