python程序控制结构详解

67 阅读4分钟

控制结构

判断结构

if...elif...else

if a: # 当a为真时条件成立,等价于if a == True if not a: # 当a为假时条件成立,等价于if a == False 在Python中会被认为是假 (False) 的值: None、[]、"、0、{}、()

循环结构

for

name = ['zhangsan','lisi','wangwu','zhouba'] for x in name: print (x) 上面是一个使用for循环来遍历列表的例子。使用for...in...的语法,循环读取name中的元素存放到变量x中,每存放一次就打印一次

while

here = 1 end = 100 sum = 0 while here <= end: sum +=here here = here + 1 print ('sum = %d ' %(sum)) 使用while循环来实现1加到100。第4行是循环条件只要here是小于等于100这个条件满足,就执行第5、6行代码。

函数

规则: 1函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 () 2 任何传入从外部传入函数的参数必须放在函数标识符后面的圆括号中 3 函数的第一行语句可以选择性地使用文档字符串一用于存放函数说明。 4 函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方。 5 不带表达式的return相当于返回 None。

全局变量使用规则如下

当我们在一个函数中创建一个变量时,默认情况下它是局部变量,只在当前函数生效当我们在一个函数之外定义一个变量时,默认情况下它是全局变量。你不必使用 global关键字。 在函数里面读取一个全局变量时,不需要加global,但如果要给全局变量重新赋值(=)则必须使用global。注意,如果调用该变量的方法不算重新赋值,比如list.append这种可以不用global。 如果函数内部有与全局变量名字相同的局部变量,则全局变量必须使用global来进行标识。 在一个函数外使用 global 关键字没有效果

ATM实战

1.编写一个简单的蜗牛ATM的注册和登录功能,要求如下:
  a.利用两个列表,一个存放用户名,一个存放密码,下标位置一一对应好。注册时,判断用户名是否已存在,密码长度要大于等于6位,如果输入错误要有相应提示,并退出系统。
  b.如果用户注册成功,则提示用户进行登录,要求用户输入用户名和密码,只有当用户名和密码均正确才能提示用户登录成功,否则提示用户名或密码错误,并退出系统。
  
2.在上题的基础上加入错误重试功能,不管是注册阶段还是登录阶段,一旦用户输入错误,都将提示用户重新输入,直到正确为止. 

3.在前面的蜗牛ATM项目的基础上进一步进行改进,要求使用一个二维列表来保存用户名和密码维列表如: users = [[zhangsan,123456],[lisi,admin123], [admin,adminadmin]]并且添加如下操作主菜单,用户选择对应的菜单选项进行操作,每次操作完后继续进入主菜单,用户输入3之后可以结束并退出应用
用户选择对应的菜单选项进行操作,每次操作完后继续进入主菜单,
******欢即来到WoniuATM*******
*******请选择操作菜单*********
*****1.注册2.登录3.退卡*******
用户输入3之后可以结束并退出应用。

4.在3题项目的基础上进一步进行改进,要求使用一个列表加字典的形式来保存用户的信息,并增加一个账户余额信息项。用户信息的保存格式如下:
user_list = [{'user': ", 'password':", 'balance': 0},{} , , ...]添加如下操作主菜单,
******欢即来到WoniuATM********
*******请选择操作菜单*********
***1.注册 2.登录3.查询余额 4.退卡*****
用户选择对应的菜单选项进行操作,每次操作完后继续进入主菜单,用户输入4之后可以结束并退出应用。用户注册成功后奖励3000元账户余额。

5.继续改进蜗牛ATM的功能,功能要求:
添加如下操作住菜单,
******欢迎来到WoniuATM********
***s***请选择操作菜单si****
***1.注册 2.登录 3.查询余额 4.存款5.取款 6.转账 7.取卡*****
实现增加的菜单的功能。注意,存取款要求只能是100的整数倍