Python 0923
练习
设计一个简单的 ATM 机模拟程序(考察Python循环知识点)
## 一、需求说明
1. 初始界面显示密码输入框,预设正确密码为 123456。
2. 密码输入错误时,提示 “密码错误,退出程序”;密码输入正确时,进入主菜单。
3. 主菜单需提供 4 个选项:1. 查询余额、2. 存款、3. 取款、4. 退出,且需通过Python循环实现“选择操作后不直接退出,可继续选择其他操作(除退出外)”的功能。
4. 各功能需遵循以下规则:
- **查询余额**:显示当前余额(初始余额为 1000 元)。
- **存款**:输入存款金额(必须为正数),若金额合法则更新余额并显示;否则提示 “存款金额无效”。
- **取款**:输入取款金额(必须为正数且不超过当前余额),若金额合法则更新余额并显示;否则提示 “取款金额无效” 或 “余额不足”。
- **退出**:显示 “感谢使用,再见!” 并结束程序,同时需通过循环控制语句实现“跳出循环、终止程序”的效果。
## 二、考察重点
1. `while` 循环的使用(如创建持续显示主菜单的循环)。
2. 循环控制语句(`break`)的应用(如选择“退出”时跳出循环)。
3. 循环与条件判断(`if-elif-else`)的结合使用(如在循环内处理不同菜单选项)。
password = input("请输入密码:")
if password=="123456":
money = 1000
while True:
xuanze = input("1. 查询余额、2. 存款、3. 取款、4. 退出")
if xuanze=="1":
print(f"当前余额{money}")
elif xuanze=="2":
cun = int(input("请输入存款金额:"))
if cun>0:
money += cun
print(f"当前的账户余额未{money}")
else:
print("存款金额无效")
elif xuanze=="3":
qu = int(input("请输入取款金额:"))
if money>=qu>0:
money -= qu
print(f"取款{qu}成功,当前余额是{money}")
else:
print("取款金额无效")
else:
print("退出应用程序")
break
else:
print("密码错误,退出程序")
容器---list 列表 [1,2,"zhnagsan",4]
list() 强制转换列表 列表中的元素数据类型是可以不同的
如何访问列表中的元素 列表名[索引下标]
list1 = ["zhnagsan",12,True,"lisi"]
list1[1] = "xigongshang"
print(list1)
添加元素
list1.append("kkkkk")
print(list1)
list1.extend(["a",12,13])
print(list1)
list1.insert(追加元素的位置下标,追加的元素内容)
list1.insert(0,"xigongshang")
print(list1)
删除第一个匹配到的元素
list1.remove(12)
print(list1)
pop():默认删除的是列表的最后一个元素,并返回删除的元素
pop(下标)删除对应下标的元素
a = list1.pop(1)
print(a)
清空列表clear()
list1.clear()
print(list1)
index() 但会第一个匹配的元素的下标
print(list1.index(12))
count()统计元素出现的次数
print(list1.count(12))
list2 = [1,21,12,32,44,3,5]
list2.reverse()
print(list2)
list2.sort(reverse=True) #降序
print(list2)
list1 = [[1,2,3],[4,5,[7,8,9]]]
print(list1[1][2][1])
???? 想要对列表做一个备份,复制一份列表,我可以怎么办????
copy() 拷贝
list2 =list1.copy()
list2.append("12345")
print(id(list2))
print(id(list1))
import copy
list1 = [1,2,3,["zhangsan",5,6]]
list2 = copy.deepcopy(list1)
list1[3][0]=12
print(id(list1[3]))
print(id(list2[3]))
print(list1)# print(list2)
更加简介更加高效的创建列表
对每一个元素的操作 for 可迭代的每一个元素 in 可迭代的对象 if 判断条件
0,1,2,3,4,5,6,7,8,9
list1 = [i*2 for i in range(10)]
print(list1)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
list1 = [1,2,3,4,5]
list2 = []
for i in list1:
list2.append(i*i)
print(list2)
list2 = [i*i for i in list1]
print(list2)
0-20之间所有的偶数组成的列表
list5 = [i for i in range(0,21) if i%2==0]
print(list5)
a = [1,2,3,4]
b=["a","b","c","d"]
# [[1,a],[1,b]]
list3 = [[i,j] for i in a for j in b]
print(list3)
'''
1. 创建一个包含0到9的平方的列表
2. 从0到19中选出所有偶数的列表
3. 将字符串"hello"转换为包含每个字符的大写形式的列表
'''
print([i*i for i in range(0,10)])
print([i for i in range(20) if i%2==0])
print([i.upper() for i in "hello"])
len() 返回序列的长度的
list1 = [1,"cdcdd",3,43,0,65,7]
# print(len("hello,python"))
# # min() max()查找最小值和最大值的
# print(min(list1))
# print(max(list1))
#
# #求和
# print(sum(list1))
any()(判断序列中是否存在某种数据类型的) all()判断序列中是否全部都是某种数据类型
当可迭代对象中的所有元素转换为布尔值后都是 True 时,返回 True
print(any(list1))
元组是不可变的序列,同时存储多个元素
1、(元素1,元素2,元素3……)
tuple1 = (1,2,"zhnagsan","lisi")
print(tuple1[-1])
tuple1[0] = 2222
2、tuple( )
print(tuple("hello"))
print(tuple([1,2,3,4,5]))
>>> tuple1=(1,) #创建只有一个元素的元组时,必须在这个元素的后面加上,
tuple1 = (1,"zhnagsan",3,["zhnagsan",2,3,4])
元组的解包
print(3 in tuple1)
元组本身不可变,但是内部的元素如果是可变的复杂数据类型,那么这个负责数据类型是可变的
a,b = ("zhangsan","lisi")
print(a,b)
a,b,c = eval(input("请输入三角形的三边,用,隔开:"))
print(a,b,c)
更多推荐
所有评论(0)