当前位置: 首页 > news >正文

学习大数据DAY30 python基础语法3

目录

上机练习 5

File(文件) 读写

文本文件写

文本文件读

csv 文件写

csv 文件读

异常

自定义异常

上机练习 6


上机练习 5

上机练习5的作业我昨天就写完了,但是因为它是今天的作业,我就今天发咯。

# atm 机模拟器:使用 main 入口,结合函数与列表等实现
# 核心数据如下
# data=[{'id':'1001','passwd':'123456','bat':'1000'},
# {'id':'1002','passwd':'123456','bat':'2000'},
# {'id':'1003','passwd':'123456','bat':'3000'},
# {'id':'1004','passwd':'123456','bat':'4000'}]
# ---------- 欢迎使用 ATM 机 ----------
# 请输入账号:1002
# 请输入密码:123
# 账号或密码错误
# ---------- 欢迎使用 ATM 机 ----------
# 请输入账号:1002
# 请输入密码:123456
# 登录成功,请进行下列操作:
# ----------操作页面----------
# 1.存款
# 2.取款
# 3.查询余额
# 4.转账
# 5.退出
# ----------------------------
# 请输入操作选项:3
# 您当前的可用余额为:2000
# ----------操作页面----------
# 1.存款
# 2.取款
# 3.查询余额
# 4.转账
# 5.退出
# ----------------------------
# 请输入操作选项:1
# 请输入存款金额:2000
# 您已成功存款 2000,您当前的余额为:4000
# ----------操作页面----------
# 1.存款
# 2.取款# 3.查询余额
# 4.转账
# 5.退出
# ----------------------------
# 请输入操作选项:2
# 请输入取款金额:5000
# 您的余额不足!
# ----------操作页面----------
# 1.存款
# 2.取款
# 3.查询余额
# 4.转账
# 5.退出
# ----------------------------
# 请输入操作选项:2
# 请输入取款金额:200
# 您已成功取款 200,您当前余额为:3800
# ----------操作页面----------
# 1.存款
# 2.取款
# 3.查询余额
# 4.转账
# 5.退出
# ----------------------------
# 请输入操作选项:4
# 请输入收款账号:1003
# 请输入转账金额:200
# 您已成功转账 200,您当前余额为:3600
# 注:判断收款账号不能是自己,判断账号是否存在,判断自己余额是否够转账
# ----------操作页面----------
# 1.存款
# 2.取款
# 3.查询余额
# 4.转账
# 5.退出
# ----------------------------
# 请输入操作选项:5
# 请问是否退出? y/n:y
# 已成功退出,请取回您的银行卡
# ----------------------------
# 请输入操作选项:6
# 输入错误data=[{'id':'1001','passwd':'123456','bat':'1000'},
{'id':'1002','passwd':'123456','bat':'2000'},
{'id':'1003','passwd':'123456','bat':'3000'},
{'id':'1004','passwd':'123456','bat':'4000'}]
# 登录
def login():
errorcount=0
while 1:
print("---------- 欢迎使用 ATM 机 ----------")
id=input("请输入账号:")
passwd=input("请输入密码:")
for i in data:
if id==i['id'] and passwd==i['passwd']:
print("登录成功,请进行下列操作:")
return id
errorcount+=1
if 7-errorcount<=0:
print("密码错误次数过多,请稍后再试")
return None
else :
print(f"账号或密码错误,你还有{7-errorcount}次机会")
pass
# 取钱
def DrawMoney(id):
money=int(input("请输入取款金额:"))
if money<=0:
print("取款金额不正确!")
else:
for i in data:
if id==i['id']:
if int(i['bat'])<money:
print("您的余额不足!")
break
else:
i['bat']=str(int(i['bat'])-money)
print(f"您已成功取款{money},您当前余额为:
{i['bat']}")
break
pass
# 存钱
def SaveMoney(id):
money=int(input("请输入存款金额:"))
if money<=0:print("存款金额不正确!")
else:
for i in data:
if id==i['id']:
i['bat']=str(int(i['bat'])+money)
print(f"您已成功存款{money},您当前的余额为:
{i['bat']}")
break
pass
# 查询余额
def CheckMoney(id):
for i in data:
if id==i['id']:
print(f"您当前的可用余额为:{i['bat']}")
break
pass
#转账
def GiveMoney(id):
give_id=input("请输入收款账号:")
if give_id==id:
print("收款账号不能是自己!")
else:
for i in data:
if give_id==i['id']:
money=int(input("请输入转账金额:"))
if money<=0:
print("转账金额不正确!")
return
else:
for j in data:
if id==j['id']:
if int(j['bat'])<money:
print("您的余额不足!")
return
else:
i['bat']=str(int(i['bat'])+money
)
j['bat']=str(int(j['bat'])-money
)
print(f"您已成功转账{money},您当前
余额为:{j['bat']}")
return
print("账号不存在!")pass
#操作界面
def Operation(id):
if id==None:
return
while 1:
op=int(input("""----------操作页面----------
1.存款
2.取款
3.查询余额
4.转账
5.退出
----------------------------
请输入操作选项:"""))
if op==1:
SaveMoney(id)
elif op==2:
DrawMoney(id)
elif op==3:
CheckMoney(id)
elif op==4:
GiveMoney(id)
elif op==5:
QuiteATM=input("请问是否退出? y/n:")
if QuiteATM=="y":
print("已成功退出,请取回您的银行卡")
return
else:
continue
else:
print("输入错误")
pass
if __name__=="__main__":
id=login()
Operation(id)

File(文件) 读写

持久化存储数据
例如: atm 取款机程序重新执行数据没有保存

文本文件写

write() 方法将任何字符串写入打开的文件,换行符 (‘\n‘)
mode="w" 覆盖写
mode="a" 追加写
文本文件可以是 txt 或者 csv
with open("D:\\wtest.txt",mode='w',encoding='UTF-8') as f :
f.write("ccccccccccccccc\n")
f.write("ccccccccccccccc\n")
f.close()

文本文件读

# 全部读出来
with open("/root/python/test.txt",mode='r',encoding='UTF-8') as
f:
resutl = f.read()
print(resutl)
f.close()
#readlines 方法则是读取所有行,一次性全部读出,
# 按行作为分隔符条件,返回所有行组成的列表(每行内容是一个元素)
with open("/root/python/test.txt",mode='r',encoding='UTF-8') as
f:
data = f.readlines()
for i in data : print(i,end="")
f.close()

csv 文件写

import csv
data=[{'id':'1001','passwd':'123456','bat':'1000'},
{'id':'1002','passwd':'123456','bat':'2000'},
{'id':'1003','passwd':'123456','bat':'3000'},
{'id':'1004','passwd':'123456','bat':'4000'}]
with open("/root/python/user.csv",mode="w", encoding="UTF-8") as
f:
result=csv.DictWriter(f,fieldnames=["id","passwd","bat"])
result.writeheader()
result.writerows(data)
f.close()

csv 文件读

csv 文件以字典的形式存储在列表里
id,passwd,bat
1001,123456,1000
1002,123456,2000
1003,123456,3000
1004,123456,4000
with open("/root/python/user.csv",mode='r',encoding='UTF-8') as
f:
result = csv.DictReader(f)
data.clear()
for i in result: data.append(i)
f.close()

异常

程序在运行期间,当 python 检测到一个错误时,解释器就无法继续执行(程序
崩溃)
了,反而出现了一些错误提示,这就是所谓的异常
try:
x = int(input(" 请输入一个数字 : "))
z=100/x
print("ok")
except ValueError:
print(" 您输入的不是数字 , 请再次尝试输入! ")
except ZeroDivisionError:
print(" 除数不能为零 ")
except Exception as e:
print(" 未知错误 ")
print(e)
finally:
print(" 无论如何都会执行 ")

自定义异常

使用 raise 语句抛出一个指定的异常。
try:
x = int(input(" 请输入一个小于 5 的数字 : "))
if x > 5:
raise Exception("x 不能大于 5 ") # print("x 不能大于 5")
except Exception as e:
print(e)

上机练习 6

# 1.修改 atm 取款机数据为持久化永久存储,csv 读取实现(分别使用函数实
现读和取),使
# 用异常处理 atm 取款机读取 csv 时判断文件是否存在,如果文件不存在提示"
没有文件使用
# 原数据"
# 2.使用异常在 atm 取款机的项目中存款函数中:
# 如果输入的存款金额不是整数则提示:请输入整数;
# 如果输入的存款金额不是 100 的倍数或者是负数则提示:请输入 100 的倍数
的正整数
import csv
data=[]
# 存入 csv 文件
def write_csv():
with open('/root/atmdata.csv','w',encoding='UTF-8') as
sdata:
savedata=csv.DictWriter(sdata,fieldnames=['id','passwd',
'bat'])
savedata.writeheader()
savedata.writerows(data)
sdata.close()
# 读取 csv 文件
def read_csv():
try:
with open('/root/atmdata.csv','r',encoding='UTF-8') as
fdata:
datadict=csv.DictReader(fdata)
data.clear()
for i in datadict:
data.append(i)
fdata.close()
except FileNotFoundError:
print("没有文件使用原数据")# 注销账号
def DropMyCounter(id):
DropConfirm=input("确认一下该账户的密码:")
for i in data:
if id==i['id'] and DropConfirm==i['passwd']:
data.remove(i)
print("注销成功!")
write_csv()
return
print("密码不正确!")
pass
# 注册账号
def Register():
try:
id=input("请输入您的账号:")
passwd=input("请输入您的密码:")
if id in [i['id'] for i in data]:
raise Exception("账号已存在!")
if len(id)<4 or len(passwd)<6:
raise Exception("账号 id 不能小于 4 位,密码不能小于 6 位!
")
data.append({'id':id,'passwd':passwd,'bat':'0'})
print("注册成功!")
write_csv()
except Exception as e:
print("注册失败!",e)
pass
# 登录界面
def login():
errorcount=0
while 1:
print("---------- 欢迎使用 ATM 机 ----------")
RegisterOrLogin=input("请选择登录或注册(R 注册,L 登录,Q 退
出):")
if RegisterOrLogin=="R":
Register()
continue
elif RegisterOrLogin=="L":
id=input("请输入账号:")
passwd=input("请输入密码:")
for i in data:
if id==i['id'] and passwd==i['passwd']:
print("登录成功,请进行下列操作:")return id
errorcount+=1
if 7-errorcount<=0:
print("密码错误次数过多,请稍后再试")
return None
else :
print(f"账号或密码错误,你还有{7-errorcount}次机会
")
elif RegisterOrLogin=="Q":
return None
else:
print("输入错误,请重新输入")
pass
# 取钱
def DrawMoney(id):
try:
money=int(input("请输入取款金额:"))
if money<=0:
print("取款金额不正确!")
else:
for i in data:
if id==i['id']:
if int(i['bat'])<money:
print("您的余额不足!")
break
else:
i['bat']=str(int(i['bat'])-money)
print(f"您已成功取款{money},您当前余额为:
{i['bat']}")
write_csv()
break
except ValueError:
print("请输入整数!")
except Exception as e:
print("其它错误,请联系管理员!",e)
pass
# 存钱
def SaveMoney(id):
try:
money=int(input("请输入存款金额:"))
if money%100!=0 or money<=0:
print("存款金额不正确!请输入 100 的倍数的正整数!")else:
for i in data:
if id==i['id']:
i['bat']=str(int(i['bat'])+money)
print(f"您已成功存款{money},您当前的余额为:
{i['bat']}")
write_csv()
break
except ValueError:
print("请输入整数!")
except Exception as e:
print("其它错误,请联系管理员!",e)
pass
# 查询余额
def CheckMoney(id):
for i in data:
if id==i['id']:
print(f"您当前的可用余额为:{i['bat']}")
break
pass
#转账
def GiveMoney(id):
give_id=input("请输入收款账号:")
if give_id==id:
print("收款账号不能是自己!")
else:
for i in data:
if give_id==i['id']:
try:
money=int(input("请输入转账金额:"))
if money<=0:
print("转账金额不正确!")
return
else:
for j in data:
if id==j['id']:
if int(j['bat'])<money:
print("您的余额不足!")
return
else:
i['bat']=str(int(i['bat'])+m
oney)j['bat']=str(int(j['bat'])-m
oney)
print(f"您已成功转账{money},
您当前余额为:{j['bat']}")
write_csv()
return
except ValueError:
print("请输入整数!")
return
except Exception as e:
print("其它错误,请联系管理员!",e)
return
print("账号不存在!")
pass
#操作界面
def Operation(id):
if id==None:
return
while 1:
op=input("""----------操作页面----------
1.存款
2.取款
3.查询余额
4.转账
5.退出
6.注销账号
----------------------------
请输入操作选项:""")
if op=='1':
SaveMoney(id)
elif op=='2':
DrawMoney(id)
elif op=='3':
CheckMoney(id)
elif op=='4':
GiveMoney(id)
elif op=='5':
QuiteATM=input("请问是否退出? y/n:")
if QuiteATM=="y":
print("已成功退出,请取回您的银行卡")
return
else:
continueelif op=='6':
DropMyCounter(id)
return
else:
print("输入错误")
pass
if __name__=="__main__":
read_csv()
id=login()
Operation(id)
# 3.将内容“诚挚邀请您来参加本次宴会”追加到“邀请函.txt”文件末尾。
# 4.读取邀请函的内容。
with open('/root/python/邀请函.txt', 'a', encoding='UTF-8') as f:
f.write("诚挚邀请您来参加本次宴会\n")
f.close()
with open('/root/python/邀请函.txt', 'r', encoding='UTF-8') as f:
data=f.read()
print(data)
f.close()

今天写的代码比较多,但是整理一下思路还是不难写的。

相关文章:

学习大数据DAY30 python基础语法3

目录 上机练习 5 File(文件) 读写 文本文件写 文本文件读 csv 文件写 csv 文件读 异常 自定义异常 上机练习 6 上机练习 5 上机练习5的作业我昨天就写完了&#xff0c;但是因为它是今天的作业&#xff0c;我就今天发咯。 # atm 机模拟器&#xff1a;使用 main 入口&…...

一文弄清Java的四大引用及其两大传递

开场白 Hello大家好呀&#xff0c;我是CodeCodeBond✊最近在复习很多很多的基础知识&#xff0c;有了很多新的感悟~ 话不多说&#xff0c;直接发车✈ 四大引用 问题切入点 在学习 Thread线程利用ThreadLocalMap实现线程的本地内存&#xff08;变量副本&#xff09;的时候&…...

arduino程序-MC猜数字5、6(基础知识)

arduino程序-MC猜数字5、6&#xff08;基础知识&#xff09; 1-23 MC猜数字-5 自定义函数自定义函数自定义清理显示内容函数displayClear&#xff08;&#xff09;带参数函数displayNumber带参数、返回值的函数 1-24 MC猜数字-6 完成制作显示0~9数字函数改造产生随机数字函数改…...

【笔记】如何在ps里调整贴图

如图我想要在ps里把角上半部分画成绿色 1.打开ps&#xff0c;拖进贴图 2.把所有图层全选复制&#xff0c;除了实体、选择、背景和uv图层 3.把这些图层合并 4.自己手动选上半部分角 按shift加选 alt减选 5. 这里可以调整饱和度、色相、明度 6. 选好之后用羽化之后边缘会…...

【C++11】深度解析--异步操作(什么是异步?异步有那些操作?异步操作有什么用呢?)

目录 一、前言 二、什么是异步操作呢&#xff1f; &#x1f525;异步的概念&#x1f525; &#x1f525;异步的生活案例说明&#x1f525; 三、异步有那些操作呢&#xff1f; &#x1f525;std::future&#x1f525; &#x1f4a2;std::future 的概念&#x1f4a2; &a…...

PHP苹果 V X iPhone微商i o s多分开V X语音转发密友朋友圈一键跟圈软件

苹果VX神器&#xff01;iPhone微商必备&#xff1a;ios多开、VX语音转发、密友朋友圈一键跟圈软件大揭秘&#xff01; 一、iOS多开新境界&#xff0c;工作生活两不误&#xff01; 你是不是也烦恼过&#xff0c;想要在工作号和生活号之间自由切换&#xff0c;却因为iPhone的限制…...

LDR6020 iPad皮套一体式键盘充电方案解析

在移动办公与学习的浪潮中&#xff0c;iPad凭借其强大的性能与便携性&#xff0c;成为了越来越多人的首选设备。然而&#xff0c;随着工作与学习任务的日益复杂&#xff0c;单一的触控操作已难以满足高效、精准的需求。因此&#xff0c;搭配一款优秀的键盘成为了提升iPad使用体…...

一款功能强大且免费的跨平台图片批量处理工具

XnConvert是一款功能强大且免费的跨平台图片批量处理工具&#xff0c;广泛应用于个人用户、教育机构和非营利组织。它支持超过500种图片格式&#xff0c;包括常见的JPEG、PNG、TIFF、GIF、WebP、PSD、JPEG2000等&#xff0c;并能够导出为大约70种不同的文件格式。 该软件的主要…...

用Python打造精彩动画与视频,4.2 特效和滤镜的使用

第四章&#xff1a;深入MoviePy 4.2 特效和滤镜的使用 在视频制作和编辑过程中&#xff0c;特效和滤镜是不可或缺的元素。它们不仅能增强视觉效果&#xff0c;还能赋予视频独特的风格和情感。MoviePy 作为一个功能强大的视频编辑库&#xff0c;提供了多种内置的特效和滤镜&…...

在 iOS 系统中,如何设置才能更好地保护个人隐私?

在iOS系统中&#xff0c;有一些设置和功能可以帮助您更好地保护个人隐私。以下是一些建议&#xff1a; 使用设备锁&#xff1a;设置一个强密码、Touch ID或Face ID来锁定您的设备。这可以防止其他人访问您的设备和个人信息。 更新软件&#xff1a;及时更新您的iOS系统和应用程…...

Charles抓包工具系列文章(七)-- Rewrite工具的应用示例

一、背景 客户端通过域名访问后端服务,在api网关层,会判断path的前缀,默认/api开头的请求都转发至后端服务A。 当前缀是/assist/api开头,请求将转发至后端服务B(部署在192.168.80.226,便于测试对比) 在不改动kong网关配置的情况下,现需要把后者的请求转发至192.168.…...

国内SSL证书颁发机构哪家服务更优质?

SSL证书作为保障网站数据传输安全的关键工具&#xff0c;其重要性不言而喻。选择一个可靠的SSL证书代理商&#xff0c;不仅能够提供多样化的证书类型&#xff0c;而且能在众多品牌中进行比较&#xff0c;选择最适合自己的、性价比更高的产品。此外&#xff0c;优质的代理商还能…...

鸿蒙系统开发【设备安全服务-应用设备状态检测】安全

设备安全服务-应用设备状态检测 介绍 本示例向您介绍如何在应用中获取DeviceToken用于对应用的设备状态进行检测。 需要使用设备安全服务接口 kit.DeviceSecurityKit。 效果预览 Sample工程的配置与使用 在DevEco中配置Sample工程的步骤如下 [创建项目]及[应用]。打开Sam…...

19个运维工程师面试集锦

第一部分&#xff1a;Linux基础 题目1&#xff1a; 有一百个图片文件&#xff0c;它们的地址都是 http://down.xiaomi.com/img/1.png http://down.xiaomi.com/img/2.png … 一直到 http://down.xiaomi.com/img/100.png 如何批量下载这100个图片文件&#xff0c;并找出其中大…...

一芯解锁「看家」新体验,航芯高性价比猫眼智能锁方案,让安全看得见!

随着智能门锁市场规模逐年递增&#xff0c;行业“内卷”也持续激烈。伴随着一路加码的功能卖点&#xff0c;智能门锁制造商正面临着产品功能芯片增多和成本优化的双重挑战。消费者不仅追求易用性、智能化和美观性&#xff0c;更期待产品具有良好的性价比。 而在智能门锁的众多…...

IPv4 vs IPv6:了解这两大协议的关键差异

我发现&#xff0c;很多找代理IP的朋友在后台问我的问题都很相似&#xff01;都被配置IP的最后一步&#xff1a;选择IPv4还是IPv6&#xff1f;给难住了。昨晚我一晚没睡&#xff0c;终于整理出对IPv4和IPv6的对比总结&#xff0c;从概念阐述到特点对比&#xff0c;再解答IPv6总…...

C#知识|XML文件操作

哈喽,你好啊,我是雷工! 之前有朋友在群里聊XML文件操作的问题,今天正好学习相关内容, 以下为学习笔记。 01 XML介绍 ①:XML是eXtensible Markup Language的缩写,即扩展标记语言。 ②:XML是一种可以用来创建自定义的标记语言,由W3C(万维网协会)创建,用来克服HTML的局…...

TCP 和 UDP 之间的区别?

从 连接&#xff0c;可靠性&#xff0c;传输方式等方面&#xff1a; TCP 是面向连接的协议&#xff0c;在发送数据的时候需要先通过 TCP 的三次握手&#xff0c;而 UDP 是无连接的协议&#xff0c;可以直接传输数据TCP 通过超时重传&#xff0c;流量控制和拥塞控制等方法保障了…...

共用体、枚举类型、typedef定义,位运算

共用体 union 共用体名 { 数据类型1 成员变量1; 数据类型2 成员变量2; 数据类型3 成员变量3; ... }; 共用体所有成员变量&#xff0c;所占空间重叠&#xff0c;占共同的空间。 枚举 将变量的值一一列举出来。 enum 枚举类型名…...

【运维】Linux如何批量解压文件夹下的很多个`.tar.gz`文件

要在Linux中批量解压这些.tar.gz文件&#xff0c;你可以使用tar命令配合find或者bash的通配符功能。这里是一个简单的步骤来解压所有这些.tar.gz文件&#xff1a; 方法 1: 使用 find 命令 find . -type f -name "*.tar.gz" -exec tar -xzvf {} \;这个命令的意思是从…...

centos9安装jumpserver并导入域用户

jumpserver是使用最广泛的开源堡垒机&#xff0c;依赖 mysql/mariadb、postgresql、redis 3个数据库。 当前版本为 4.0.1&#xff0c;安装包&#xff1a; jumpserver-ce-v4.0.1-x86_64.tar.gz 0、安装centos9&#xff0c;安装docker 1、解压安装包 cd /opt tar -xf jumpser…...

将一批 csv 的第一行抄进 Excel

某目录下有一批结构相同的 csv 文件&#xff1a; stock_301500.csvstock_320688.csv CODE,DT,OP,CL 301500,2023-06-02,71,67.8 301500,2023-06-05,79.35,72.61 301500,2023-06-06,75.8,77.65 CODE,DT,OP,CL 320688,2023-06-02,33,32 320688,2023-06-05,28.37,30.23 320688,2…...

【传知代码】LAD-GNN标签注意蒸馏(论文复现)

近年来&#xff0c;随着图神经网络&#xff08;GNN&#xff09;在各种复杂网络数据中的广泛应用&#xff0c;如何提升其在大规模图上的效率和性能成为了研究的热点之一。在这个背景下&#xff0c;标签注意蒸馏&#xff08;Label Attention Distillation&#xff0c;简称LAD&…...

JVM调优篇:探索Java性能优化的必备种子面试题

JVM内存模型 首先面试官会询问你在进行JVM调优之前&#xff0c;是否了解JVM内存模型的基础知识。这是一个重要的入门问题。JVM内存模型主要包括程序计数器、堆、本地方法栈、Java栈和方法区&#xff08;1.7之后更改为元空间&#xff0c;并直接使用系统内存&#xff09;。 正常…...

常见的内存泄漏及其解决方案

内存泄漏是Java开发中一个常见且令人头疼的问题&#xff0c;即使在使用垃圾回收机制的Java中&#xff0c;也无法完全避免内存泄漏的出现。当对象不再需要时却仍然占据着内存&#xff0c;导致内存使用量不断增加&#xff0c;最终可能导致 OutOfMemoryError。本文将深入探讨Java中…...

SQLSERVER 触发器记录表某个字段更新记录

想要记录该字段的原值和现有值&#xff0c;触发器写法&#xff1a; CREATE TRIGGER tr_UpdateEmployeeDepartment ON Employees AFTER UPDATE AS BEGINSET NOCOUNT ON; -- 避免多余的计数消息IF UPDATE(Department) -- 检查是否更新了 Department 字段BEGININSERT INTO Update…...

现代前端架构介绍(第一部分):App是如何由不同的构建块构成的

远离JavaScript疲劳和框架大战&#xff0c;了解真正重要的东西 几周前&#xff0c;我的同事们对我们的前端架构、代码结构和面临的挑战很感兴趣。在做了几次关于如何构建可扩展且健壮的前端的演讲后&#xff0c;我觉得把它们都总结一下并与社区分享我们的策略是一个不错的主意。…...

Android 11 关于按键拦截/按键事件处理分享

系统在frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java处理按键事件,不管是物理按键还是 SystemUI的nav_bar上的虚拟按键(使用了KeyEvent类中的,比如:KeyEvent.KEYCODE_VOLUME_UP). 主要注意的有两个函数&#xff1a; interceptKeyBef…...

最新TomatoIDC开源虚拟主机销售系统源码/有插件系统模块+模版系统

源码简介&#xff1a; 最新TomatoIDC开源虚拟主机销售系统源码&#xff0c;它有一个方便扩展的插件和模版系统模块&#xff0c;使用实用。 TomatoIDC&#xff0c;一款遵循GPL3.0协议的开源虚拟主机销售系统&#xff0c;不仅有着可以轻松扩展的插件系统和模版系统&#xff0c;…...

简单的docker学习 第4章docker容器

第4章 Docker容器 4.1 容器基础 4.1.1 容器启动流程 通过 docker run 命令可以启动运行一个容器。该命令在执行时首先会在本地查找指定的镜像&#xff0c;如果找到了&#xff0c;则直接启动&#xff0c;否则会到镜像中心查找。如果镜像中心存在该镜像&#xff0c;则会下载到…...

wordpress块引用美化/百度关键词排名怎么查

在阅读本文之前,你应该阅读过的系列: 《Flink重点难点:时间、窗口和流Join》 《Flink重点难点:网络流控和反压》 《Flink重点难点:维表关联理论和Join实战》 《Flink重点难点:内存模型与内存结构》 《Flink重点难点:Flink Table&SQL必知必会(一)》 Flink重点难点:F…...

做网站维护的是什么人/百度竞价排名费用

模块 模块是非常简单的Python文件&#xff0c;单个Python文件就是一个模块&#xff0c;两个文件就是两个模块。 import语句是用来导入模块或者从模块里导入特定的类或者函数。如前面我们用过的math模块&#xff0c;从而可以使用sqrt函数来计算距离。 假如有一个包含Database类的…...

自己建网站 知乎/正规的培训机构有哪些

回到目录 当我们从MongoDB网站下载安装包之后&#xff0c;它会伴随有一系列的工具&#xff0c;服务器程序mongod是我们耳熟能详的了&#xff0c;客户端mongo和性能检测mongostat我们可能就没有用过了&#xff0c;今天主要是介绍一下mongo这个客户端命令行工具的使用。 测试环境…...

网站设计排版怎么做/营销策划书范文案例

2019独角兽企业重金招聘Python工程师标准>>> 使用: npm install echarts* --save 即可实现将最新版本的echarts安装到生产依赖的目的 转载于:https://my.oschina.net/jamesview/blog/1624197...

国内用python做的网站/百度推广一条资源多少钱

jQuery 插件jQuery虽然功能强大&#xff0c;但也不是包含所有的功能&#xff0c;可以通过插件来扩展它的功能&#xff1a; 当你需要某个插件的时候&#xff0c;你可以“安装”到jQuery上面&#xff0c;然后使用。 当你不再需要这个插件&#xff0c;那你就可以从jQuery上“卸载”…...

广告制作公司怎么拉业务/百度seo 优化

原文地址为&#xff1a; 看了保证你笑到抽筋 2010最新语录1、种草不让人去躺&#xff0c;不如改种仙人掌&#xff01; 2、我心眼儿有些小&#xff0c;但是不缺&#xff1b;我脾气很好&#xff0c;但不是没有&#xff01; 3、人和猪的区别就是&#xff1a;猪一直是猪&#xff0c…...