新手小白学习笔记第四弹
自助取款机主界面:
您好:XXX,欢迎来到银行,请选择您的操作:
查询余额输入1
存款输入2
取款输入3
退出输入4
请输入您的选择:
查询余额效果
---------------查询余额------------------
您好,您的余额剩余1000元
存,取款效果
--------------存款-----------
您好,你存款的数额为:
余额为:
---------------取款--------------
您好,你取款:
您的余额为:
要求:
程序启动后要求输入客户姓名
查询余额、存款、取款后都会返回主菜单
存款、取款后都应显示一下当前余额
客户选择退出或输入错误,程序退出否则程序一直运行
程序:
#定义全局函数
money=5000
name=None
#要求客户输入姓名
name=input("请输入您的姓名:")
#定义查询函数
def query(show_head):
if show_head: #通过布尔类型的参数来控制打印出来的范围,输入实际参数为False即只打印第二个print语句
print("__________查询余额_______________")
print(f"{name},您好,您的余额剩余{money}元")
#定义存款函数
def saving(num):
global money #声明money为全局变量
money+=num
print("__________存款_______________")
print(f"{name},您好,您存款{num}元成功")
#调用query函数查询余额
query(False)
#定义取款函数
def get_money(num):
global money
money-=num
print("__________取款_______________")
print(f"{name},您好,您取款款{num}元成功")
#调用query函数查询余额
query(False)
#定义主菜单函数
def main():
print("__________主菜单_______________")
print(f"{name},您好,欢迎使用,请选择您所需要的服务:")
print("查询余额\t\t[输入1]")
print("存款\t\t[输入2]")
print("取款\t\t[输入3]")
print("退出\t\t[输入4]")
return input("请输入您的选择")
#设置无限循环确保程序不退出
while True:
keyboard_input=main() #通过变量接收main()函数的返回值
if keyboard_input=="1":
query(True)
continue #继续下次循环返回主菜单重新选择服务
elif keyboard_input=="2":
num=int(input("您的存款金额为:"))
saving(num)
continue
elif keyboard_input=="3":
num=int(input("您的取款金额为:"))
get_money(num)
continue
else:
print("程序退出")
break #退出循环
运行结果
请输入您的姓名:XXX
__________主菜单_______________
XXX,您好,欢迎使用,请选择您所需要的服务:
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择1
__________查询余额_______________
XXX,您好,您的余额剩余5000元
__________主菜单_______________
XXX,您好,欢迎使用,请选择您所需要的服务:
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择2
您的存款金额为:1000
__________存款_______________
XXX,您好,您存款1000元成功
XXX,您好,您的余额剩余6000元
__________主菜单_______________
XXX,您好,欢迎使用,请选择您所需要的服务:
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择3
您的取款金额为:500
__________取款_______________
XXX,您好,您取款款500元成功
XXX,您好,您的余额剩余5500元
__________主菜单_______________
XXX,您好,欢迎使用,请选择您所需要的服务:
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择4
程序退出
16、列表
数据容器
一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素,每个元素可以是任意类型的数据如字符串、数字、布尔等
列表list
元组tuple
字符串str
集合set
字典dict
#列表的定义格式
[元素1,元素2,元素3.......]
变量名称=[元素1,元素2,元素3.......]
#空列表的定义
变量名称=[]
变量名称=list[]
#列表可一次存储多个数据,且可以作为不同的数据类型,支持嵌套
[‘it’,666,True]
[,]
#通过下标索引取出对应位置的数据
my_list=[‘it’,666,True]
my_list
666
my_list
“it”
my_list[-1]
True
#通过下标索引取出嵌套列表内的数据
my_list=[,]
my_list
my_list
1
#下标索引值超出范围无法取出元素且会报错
#列表的常用操作方法
方法和函数的功能一样,有传入参数,有返回值,只是方法的使用格式不同
函数的使用:num=add(1,2)
方法的使用:student=Student()
num=student.add(1,2)
列表的一系列功能
#查询功能
功能:查询指定元素在列表的下标,如果找不到报错ValueError
语法:list.index(元素)
index就是列表对象(变量)内置的方法(函数)
my_list=
my_list.index(1)
print(f”1在列表中的下标索引值为:{index})
0
#有多个相同元素会输出第一个的下标索引值
如果被查找的元素不存在会报错
#修改下标索引的值
语法:list[下标]=值
对应的下标索引元素进行重新赋值
#插入元素
语法:list.insert(下标,元素)
在指定的下标位置插入指定的元素
#追加元素
语法:list.append(元素)
将指定的元素追加到列表的尾部
#追加元素方式2
语法:list.extend(其他数据容器)
将其他数据容器的内容取出依次追加到列表尾部
#删除元素
语法1:del list[下标]
语法2:list.pop(下标)
删除列表指定下标的元素,语法2可通过变量去接收删除的元素
element=my_list.pop(2)
#删除某元素在列表中的第一个匹配项
语法:列表.remove(元素)
#清空列表
语法:list.clear()
将列表清空变为空列表
#统计某元素在列表内的数量
语法:list.count(元素)
可通过变量去接收返回值
#统计列表内共有多少元素
语法:len(列表)
#列表的特点
可以容纳多个元素,上限2^63-1个
可以容纳不同类型的元素
数据是有序存储的,可以下标索引
允许重复数据存在
可以修改
#列表的遍历
while循环和for循环来遍历列表
语法:
index=0
while index<len(列表):
元素=列表
对元素进行处理
index+=1
语法:
for 临时变量 in 数据容器:
对临时变量进行处理
#表示从容器中依次取出元素并赋值到临时变量上,在每一次的循环中我们可以对临时变量进行处理
#while循环可以自定义循环条件进行自行控制
for循环不可以自定义循环条件,只可以一个个从容器中取出数据
17、元组tuple
列表是可以被修改的,元组一旦定义完成就不可修改
#元组的定义格式
元组字面量
(元素1,元素2,元素3.......)
元组变量
变量名称=(元素1,元素2,元素3.......)
空元组
变量名称=()
变量名称=tuple()
#元组的嵌套
t1=((“it”),(“hello”))
#通过下标索引取出内容
和列表相同
#元组的方法
index(元素) 查找相应元素的下标
count(元素) 统计元素的数量
len(元组) 统计元组元素数量
#元组的遍历
index=0
while index<len(元组):
元组元素处理
index+=1
for element in 元组:
元组元素处理
元组的元素不可修改,但元素内部的内容可变换
例如
t=(1,2,[“it”,”hello”])
t=”me”
print(“t”)
(1,2,[“me”,”hello”])
#元组的特点
可容纳多个数据
可容纳不同类型数据
数据有序存储可下标索引
允许重复数据存在
不可修改
支持while,for循环
18、字符串 鱼油,你的程序基本思路是正确的,但在几个地方可以做细节上的改进。下面是一个改进后的版本,确保了简洁性和可读性:
# 定义全局变量
money = 5000
name = input("请输入您的姓名:")
# 定义查询函数
def query(show_head):
if show_head:
print("__________查询余额_______________")
print(f"{name},您好,您的余额剩余{money}元")
# 定义存款函数
def saving(num):
global money
money += num
print("__________存款_______________")
print(f"{name},您好,您存款{num}元成功")
query(False)
# 定义取款函数
def get_money(num):
global money
if num <= money:
money -= num
print("__________取款_______________")
print(f"{name},您好,您取款{num}元成功")
else:
print(f"{name},余额不足!")
query(False)
# 定义主菜单函数
def main():
print("__________主菜单_______________")
print(f"{name},您好,欢迎使用,请选择您所需要的服务:")
print("查询余额输入1")
print("存款输入2")
print("取款输入3")
print("退出输入4")
return input("请输入您的选择:")
# 设置无限循环确保程序不退出
while True:
keyboard_input = main()
if keyboard_input == "1":
query(True)
elif keyboard_input == "2":
num = int(input("您的存款金额为:"))
saving(num)
elif keyboard_input == "3":
num = int(input("您的取款金额为:"))
get_money(num)
elif keyboard_input == "4":
print("程序退出")
break
else:
print("无效的选择,请重新输入")
改动和注意点:
1. 在`query`函数中,`show_head`参数控制是否打印标题。
2. `saving`和`get_money`函数中都调用`query(False)`来显示最新余额。
3. `get_money`函数中添加了余额检查,确保取款时余额足够。
4. 在主菜单函数中增加了每个选项的对应输入内容,方便用户理解。
5. 无限循环中的`if...elif`判断结构内增加了正确的退出条件和无效输入的处理。
这样就可以保证程序的健壮性及用户友好的体验了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]