Python编程 基础练习(四)

简介: 很认同的一句话:在能力范围之内,给自己最好的生活

1. 使用time库,把系统的当前时间信息格式化输出


importlocaleimporttime# 以格式2020年08月24日18时50分21秒输出# python time 'locale' codec can't encode character '\u5e74' in position 2: encoding error报错的解决方法locale.setlocale(locale.LC_CTYPE, 'chinese')
t=time.localtime()
print(time.strftime('%Y年%m月%d日 %H时%M分%S秒', t))


运行结果如下:


2020年08月24日18时54分17秒


2. 使用turtle库,画奥运五环


importturtlep=turtlep.pensize(8)  # 画笔尺寸设置5defdrawCircle(x, y, c='red'):
p.pu()          # 抬起画笔p.goto(x, y)    # 绘制圆的起始位置p.pd()          # 放下画笔p.color(c)      # 绘制c色圆环p.circle(50, 360)  # 绘制圆:半径,角度# 五环的颜色drawCircle(0, 0, 'blue')
drawCircle(80, 0, 'black')
drawCircle(150, 0, 'red')
drawCircle(120, -60, 'green')
drawCircle(50, -60, 'yellow')
p.done()


运行效果如下:


3. 简单实现账目管理系统功能,包括创建一个账户、存钱、取钱、退出系统的功能


classBank():
users= []
def__init__(self):
# 创建该账户信息   属性:账号 密码 姓名 金额users= []
self.__cardId=input('请输入账号:')
self.__pwd=input('请输入密码:')
self.__userName=input('请输入姓名:')
self.__banlance=eval(input('请输入该账号金额:'))
# 将账户信息以字典添加进列表users.append({'账号': self.__cardId, '密码': self.__pwd, '姓名': self.__userName, '金额': self.__banlance})
print(users)
# 存钱defcun(self):
flag=Truewhileflag:
cardId=input('输入账号:')
whileTrue:
ifcardId==self.__cardId:
curPwd=input('输入密码:')
ifcurPwd==self.__pwd:
money=eval(input('存入金额:'))
print('存钱成功')
self.__banlance=self.__banlance+moneyprint('存入:{}元  余额:{}元'.format(money, self.__banlance))
flag=Falsebreakelse:
print('密码错误,请重新输入!')
continueelse:
print('账号错误,请检查后重新输入!')
break# 取钱defqu(self):
flag1, flage2=True, Truewhileflag1:
cardId=input('输入账号:')
whileflage2:
ifcardId==self.__cardId:
curPwd=input('输入密码:')
ifcurPwd==self.__pwd:
whileTrue:
money=eval(input('取出金额:'))
ifmoney<=self.__banlance:
print('取钱成功')
self.__banlance=self.__banlance-moneyprint('取出:{}元  余额:{}元'.format(money, self.__banlance))
flag1, flage2=False, False# 外层循环也退出breakelse:
print('余额不足,请重新输入要取的金额!')
continueelse:
print('密码错误,请重新输入!')
continueelse:
print('账号错误,请检查后重新输入!')
breakbk=Bank()
print('=============== 创建账号成功 =================')
print('---------------------------------------------------')
whileTrue:
print('1.存钱\n2.取钱\n3.退出账目管理')
order=input('请输入您的选择:')
iforder=='1':
bk.cun()
eliforder=='2':
bk.qu()
eliforder=='3':
print('===================== 退出系统 =======================')
breakelse:
print('输入选择有误,请重新输入!')
continue


4. numpy数组操作


  • 创建一个 10x10 的随机数组,里面每个元素为 0-100 的整数,求它的最大值与平均值
  • 已知列表[[4,2,8,1],[7,5,9,6],[1, 2, 3, 4]],请将列表转换为ndarray对象,并将前2行的1、3列置为0,并重新输出


importnumpyasnps=np.random.randint(0, 100, size=(10, 10))   # 生成 10x10 的随机数组  里面每个元素为0-100的整数print(s)
# 格式化输出print(f'最大值:{np.max(s)}')
print(f'平均值:{np.mean(s)}')
# 将列表转换为ndarray对象s=np.array([[4, 2, 8, 1], [7, 5, 9, 6], [1, 2, 3, 4]])
print(s)
print('-------------------------')
s[:2, 0:3:2] =0# 前两行的1、3列置为0print(s)
运行结果如下:[[5918933465972262798]
 [ 4442932299597336466]
 [64643126613565923146]
 [59378255343121662379]
 [29587330349417496360]
 [7855742585834806768]
 [7649578623276363595]
 [47987614897117328163]
 [707677109867835269]
 [171936732864328684]]
最大值:98平均值:51.96[[4281]
 [7596]
 [1234]]
-------------------------[[0201]
 [0506]
 [1234]]


5. 蛇皮走位


importturtlet=turtlet.penup()
t.fd(-250)
t.pendown()
# 海龟腰围t.pensize(30)
# 海龟颜色t.pencolor("purple")
t.seth(-30)
foriinrange(5):   # 5节# 以左侧距离为r(如果r是负数,则以右侧距离-r)的点为圆心蛇皮走位(半径,旋转角度)t.circle(50, 2*30)
t.circle(-50, 2*30)
t.circle(50, 30)
t.fd(60)               # 蛇身t.circle(25, 180)      # 蛇头的半径  角度t.fd(40*2/3)         # 蛇头长度t.done()          # 程序运行之后不会退出


运行效果如下:



6. 文件操作


下面是一个传感器采集数据文件sensor-data.txt的一部分。其中,每行是一条记录,逗号分隔多个属性。属性包括日期、时间、温度、湿度、光照、电压。其中,温度处于第3列。

date,time,temp,humi,light,volt

2020-02-01,23:03:16.33393,19.3024,38.4629,45.08,2.68742

2020-02-01,23:06:16.01353,19.1652,38.8039,45.08,2.68742

2020-02-01,23:06:46.77808,19.175,38.8379,45.08,2.68942

请用读入文件的形式编写程序,统计并输出温度的平均值,结果保留2位小数。


# 统计并输出温度的平均值,结果保留2位小数。# 打开文件所在路径  读取数据  按'\n'切割 得到每一行数据withopen(r'./测试数据/test_01.txt', 'r') asf:
con=f.read().split('\n')
temp= [eval(x.split(',')[2]) forxincon[1:]]      # 第一行为列名  不要# 格式化输出结果print('温度的平均值为:{:.2f}'.format(sum(temp) /len(temp)))


运行结果如下:


温度的平均值为:19.21


目录
相关文章
|
8天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
8天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
12天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
29天前
|
编译器 测试技术 C++
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
159 0
|
1天前
|
安全 数据处理 开发者
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
8 1
|
1天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
15 0
|
2天前
|
API Python
Python模块化编程:面试题深度解析
【4月更文挑战第14天】了解Python模块化编程对于构建大型项目至关重要,它涉及代码组织、复用和维护。本文深入探讨了模块、包、导入机制、命名空间和作用域等基础概念,并列举了面试中常见的模块导入混乱、不适当星号导入等问题,强调了避免循环依赖、合理使用`__init__.py`以及理解模块作用域的重要性。掌握这些知识将有助于在面试中自信应对模块化编程的相关挑战。
17 0
|
3天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
25 0
|
3天前
|
索引 Python
python 格式化、set类型和class类基础知识练习(上)
python 格式化、set类型和class类基础知识练习
21 0
|
11天前
|
Python
Python网络编程基础(Socket编程)UDP服务器编程
【4月更文挑战第8天】Python UDP服务器编程使用socket库创建UDP套接字,绑定到特定地址(如localhost:8000),通过`recvfrom`接收客户端数据报,显示数据长度、地址和内容。无连接的UDP协议使得服务器无法主动发送数据,通常需应用层实现请求-响应机制。当完成时,用`close`关闭套接字。

热门文章

最新文章