我的Python成长之路---第一天---Python基础(5)---2015年12月26日(雾霾)
六、流程控制
与C语言不通的事Python的流程控制的代码块不是用{}花括号表示的,而是用强制缩进来,而且缩进必须一致,官方推荐是使用4个空格,不建议使用使用tab(制表符)做缩进,一是不同的系统tab所占宽度不一致,会比较乱,二是由于Python要求同级缩进必须保持一致,所以有些时候看上去是对其了,但是有的是空格有的是tab键使得不容易排错,另外条件判断的条件语句不需要使用()括起来,但是条件语句后面使用:
1、条件判断——if语句
条件判断就是执行某个代码段之前先进性判断,如果符合在执行某个代码段
比如,输入年龄,如果年龄小于18岁,就告诉他too young too simple!
age = 17
if age < 18:
print('too young too simple') # 若果判断返回的True就执行这段代码
也可以个if添加一个else语句,告诉Python解释器,如果不符合执行条件(返回Fasle)的代码段,例如,如果如果年龄不小于18岁,就告诉他do you marry me?
age = 19
if age < 18:
print('too young too simple')
else:
print('do you marry me?') # 如果判断返回的是False就执行这段代码
由于Python没有case语句,所以条件分之可以通过else if这样的嵌套,为了减少嵌套可以使用简写elif,例如再加一个条件如果大于30岁,告诉他too old!
age = 33
if age < 18:
print('too young too simple')
elif age > 32:
print('too old!')
else:
print('do you marry me?')
注意:保持缩进一致,不要忘了冒号:哦
应用示例:
现在我们有这么一个需求,设计一个猜幸运数字的小游戏,通过控制台输入的方式让用户猜你的幸运数字lucky number,如果用户输入的比你的幸运数字大就提示再小一点,反之如果输入的比你幸运数字小则提示再大一点,如果猜中则提示Bingo。
#!/usr/bin/env python
# coding:utf-
'''
Created on: @author: 张晓宇 Email: @qq.com Version: 1.0 Description: 猜lucky number
、如果猜的数字比lucky number大,提示说小一点
、如果猜的数字比lucky number小,提示说大一点
、如果相等,提示Bingo Help:
'''
if __name__ == '__main__':
# 定义lucky number
lucky_num =
# 获取用户输入的猜lucky number
lucky_num_input = int(input("请输入lucky number(1-10): "))
# 判断用户输入的猜lucky number
if lucky_num_input > lucky_num:
# 输入的比lucky number大
print("再小一点")
elif lucky_num_input < lucky_num:
# 输入的比lucky number小
print("再大一点")
else:
# 正确
print("Bingo")
2、while循环:只要符合条件(条件语句返回的是True)则循环执行某个代码段
比如我们的程序有着让用户输入东西并进行处理(例如菜单程序),若果用户输入的q则退出程序
#!/usr/bin/env python
# coding:utf-
choose = ''
while choose != 'q':
choose = input('请输入你要点的菜,输入q退出:')
循环中的常见关键字break、continue和else:
在循环中关键字break表示退出循环,continue表示退出当前循环继续下一轮的循环,continue后面的语句将不执行,else和if中else表示条件不满足时(也就是正常退出循环不是用break强制退出循环)执行的代码段
应用示例,还是刚才那个猜幸运数字的游戏,之前只是输入一次程序就退出了,如果继续猜需要重新运行程序,这很不友好,我们现在让用户运行一次可以猜3次如果三次猜不对再退出程序
#!/usr/bin/env python
# coding:utf-
'''
Created on: @author: 张晓宇 Email: @qq.com Version: 2.0 Description: 猜lucky number
、如果猜的数字比lucky number大,提示说小一点
、如果猜的数字比lucky number小,提示说大一点
、如果相等,提示Bingo
、没有猜对继续循环直到猜对
、限制三次,如果没有猜对提示三次没有猜对,游戏结束 Help:
''' if __name__ == '__main__':
# 定义lucky number
lucky_num =
# 定义guess_count,计数猜的次数
guess_count =
while guess_count < :
# 获取用户输入的猜lucky number
lucky_num_input = int(input("请输入lucky number: "))
# 判断用户输入的猜lucky number
if lucky_num_input > lucky_num:
# 输入的比lucky number大
print("再小一点")
elif lucky_num_input < lucky_num:
# 输入的比lucky number小
print("再大一点")
else:
# 输入的和lucky number相等
print("Bingo!")
# 退出循环
break
# 次数加1
guess_count +=
else:
# 猜了三次循环正常退出
print("三次没有猜对,游戏结束")
3、for循环
Python中的for循环常常使用in对序列化对象(如列表、元祖等)进行遍历,这里我们还没降到列表元祖等,我们可以用字符串(字符串也是序列化对象,可以遍历每个元素也就是组成字符串的每一个字符),假设我们有一个字符串'ABC',我们要把字符串中的每一个字符分别输出可以这样做:
for i in 'ABC':
print(i)
如果我们需要像C语言for(i=1;i<;i++),可以借助内置方法range(n),就是生成一个(0,1,2...n-1)的这么一个序列,例如我们要件指定循环多少遍(打印0-9的数字)可以这么做
for i in range():
print(i)
Python的for循环也可以使用break等,continue和else,使用方法和while循环一样
应用示例,我们把猜幸运数字的游戏改成for循环实现
#!/usr/bin/env python
# coding:utf-
'''
Created on: @author: 张晓宇 Email: @qq.com Version: 2.0 Description: 猜lucky number
、如果猜的数字比lucky number大,提示说小一点
、如果猜的数字比lucky number小,提示说大一点
、如果相等,提示Bingo
、没有猜对继续循环直到猜对
、限制三次,如果没有猜对提示三次没有猜对,游戏结束 Help:
''' if __name__ == '__main__':
# 定义lucky number
lucky_num =
for guess_count in range():
# 获取用户输入的猜lucky number
lucky_num_input = int(input("请输入lucky number: "))
# 判断用户输入的猜lucky number
if lucky_num_input > lucky_num:
# 输入的比lucky number大
print("再小一点")
elif lucky_num_input < lucky_num:
# 输入的比lucky number小
print("再大一点")
else:
# 输入的和lucky number相等
print("Bingo!")
# 退出循环
break
else:
# 猜了三次循环正常退出
print("三次没有猜对,游戏结束")
总结:while和for循环虽然都可以实现循环,但是他们各自有各自的特点,根据实际需要选择,例如不限定循环的次数只要符合条件就退出循环使用while循环就比较方便,如果限定循环次数或者要遍历序列对象使用for就比较方便
我的Python成长之路---第一天---Python基础(5)---2015年12月26日(雾霾)的更多相关文章
- 我的Python成长之路---第一天---Python基础(1)---2015年12月26日(雾霾)
2015年12月26日是个特别的日子,我的Python成之路迈出第一步.见到了心目中的Python大神(Alex),也认识到了新的志向相投的伙伴,非常开心. 尽管之前看过一些Python的视频.书,算 ...
- 我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)
作业二:三级菜单 三级菜单 可一次进入各个子菜单 思路: 这个题看似不难,难点在于三层循环的嵌套,我的思路就是通过flag的真假来控制每一层的循环的,简单来说就是就是通过给每一层循环一个单独的布尔变量 ...
- 我的Python成长之路---第一天---Python基础(6)---2015年12月26日(雾霾)
七.列表——list Python的列表是一种内置的数据类型,是由Python的基本数据类型组成的有序的集合.有点类似C语言的数组,但与数组不同的是,Python在定义列表的时候不用指定列表的容积(长 ...
- 我的Python成长之路---第一天---Python基础(2)---2015年12月26日(雾霾)
三.数据类型 Python基本类型(能够直接处理的数据类型有以下几种)主要有5种 1.整数(int) Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如 ...
- 我的Python成长之路---第一天---Python基础(4)---2015年12月26日(雾霾)
五.数据运算与数据运算符 1.算术运算符 算术运算符 运算符 描述 示例 + 加法 >>> 14 - 5 9 - 减法 >>> 14 - 5 9 * 乘法 &g ...
- 我的Python成长之路---第一天---Python基础(3)---2015年12月26日(雾霾)
四.变量和常量 变量是用来存储程序运行期间需要临时保存可以不断改变的数据的标识符.Python有自身的内存回收机制,所以在开发过程中不用考虑变量的销毁等 Python中的变量名命名有如下规则: 1.变 ...
- 我的Python成长之路---第一天---Python基础(作业1:登录验证)---2015年12月26日(雾霾)
作业一:编写登录接口 输入用户名密码 认证成功系那是欢迎信息 输错三次后锁定 思路: 1.参考模型,这个作业我参考了linux的登录认证流程以及结合网上银行支付宝等锁定规则 1)认证流程参考的是Lin ...
- python成长之路第一篇(5)文件的基本操作
一.三元运算 我们在上章学习的if,,else,,有一种简便的方法 他的表达式是这样的:变量 = 值1 if 条件 else 值2 解释过来就是如果aaa等于sss则输出值1否则输出值2 二.类的概念 ...
- PYthon成长之路第一篇(1)__字符串初识
今天一起走进python的代码世界,一起领悟python的魅力 在很多学习python的书中都会以 print “Hello,world!” 这样的而一个程序为开始,那么其中的 hello,worl ...
随机推荐
- HTTP消息头详解
HTTP是一个属于应用层面的面向对象的协议,由于其便捷.快速的方式.适用于分布式超媒体信息系统.于1990年提出 HTTP 协议主要特点概括如下 1.支持客户/服务器模式. 2.简单快速 请求方法常用 ...
- [LeetCode]题解(python):021-Merge Two Sorted Lists
题目来源: https://leetcode.com/problems/merge-two-sorted-lists/ 题意分析: 题目给出两个排好序的链表,将这两个链表整合成一个新的有序的链表. 题 ...
- C语言之新同学年龄
新同学年龄 班里来了一名新同学,很喜欢学数学,同学们问他年龄的时候,他说我的年龄平方是个三位数,立方是个四位数,四次方是个六位数.三次方和四次方正好用遍0.1.2.3.4.5.6.7.8.9这10个数 ...
- C陷阱与缺陷(一)
第一章 词法陷阱 术语“符号”指的是程序的一个基本组成单元,其作用相当于一个句子中的单词.编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”. 1.1 =不同于== 一般容易将比较运算 ...
- Xamarin.Android开发实践(三)
原文:Xamarin.Android开发实践(三) 一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没 ...
- 解决安装oracle后系统变慢问题
Oracle数据库是一个很占资源的软件,光一个实例服务所占内存,根据其安装时分配的内存就至少要达到256MB以上,再加上其他附属服务,光内存就要占用物理内存的400M左右,虚拟内存也会有等值或更高的损 ...
- C# Setup package Uninstaller
安裝的部分就不介紹了,網上一搜一大堆,這裡只介紹下卸載的部分. 1.在C:\Windows\System32 目录下找到 msiexec.exe 拷贝到相应的地方,可修改名称为 Uninstall.e ...
- WebLogic(12C)——Server
上篇博客介绍了Weblogic的安装.Domain的创建,以及怎样进入管理控制台. WebLogic Server安装教程 1.Server(server)概念 2,创建Server(server) ...
- 平实给力的写作指导入门手冊——leo鉴书57
写作是个体力活儿,须要不断的练习和砥砺.既然是体力劳动,那必定有套路,前人总结.后人学习并加以积累沉积,日久则形成不同的风格和流派有点儿像.相同,写作也有自己的套路和学习路径.初涉写作有必备之书吗?当 ...
- javascript实现模仿迅雷电影评分
效果图: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...