python实训day1

1、

dd2 = dict(id=101, name='小明', age=23, score=[90, 67, 98])
print(dd2)
print()
print('dd2.id ->', dd2.get('id'))  # 101
print('dd2.age ->', dd2.get('age'))  # 23
print()
"""字典数据由三部分组成:1、键集2、值集;3、元素集;就是一个字典中的多个键值对的集合  
"""
print('键值对数量 ->', dd2.__len__())
print()
# 键集
print("*** 键集 ***")
keys = dd2.keys()
print(keys)
print("*** 值集 ***")
# 值集
values = dd2.values()
print(values)
# 元素集;  一个元素就是一个键值对,就是一个元组
print("*** 元素集 ***")
for d in dd2.items():print(d)
D:\pyproject\Project1\venv\Scripts\python.exe D:\pyproject\Project1\day1\test1.py 
{'id': 101, 'name': '小明', 'age': 23, 'score': [90, 67, 98]}dd2.id -> 101
dd2.age -> 23键值对数量 -> 4*** 键集 ***
dict_keys(['id', 'name', 'age', 'score'])
*** 值集 ***
dict_values([101, '小明', 23, [90, 67, 98]])
*** 元素集 ***
('id', 101)
('name', '小明')
('age', 23)
('score', [90, 67, 98])Process finished with exit code 0

2、

print()
# 创建一个字典
dd1 = {"id": 1024, "name": "王小明", "age": 21,"score": [77, 88, 98, 45]}
# 整体输出
print(dd1)
print()
# 输出所有的键
keys = dd1.keys()
print(keys)
print()
# 输出字典中的所有值
values = dd1.values()
print(values)
print()
# 输出所有的键值对
for d in dd1.items():print(d)

运行结果:

D:\pyproject\Project1\venv\Scripts\python.exe D:\pyproject\Project1\day1\test1.py {'id': 1024, 'name': '王小明', 'age': 21, 'score': [77, 88, 98, 45]}dict_keys(['id', 'name', 'age', 'score'])dict_values([1024, '王小明', 21, [77, 88, 98, 45]])('id', 1024)
('name', '王小明')
('age', 21)
('score', [77, 88, 98, 45])Process finished with exit code 0

3、

dd1={}
print('type(',dd1,')->',type(dd1),sep='')
aa=[]
print('type(',aa,')->',type(aa),sep='')
dd1['id']=1024
dd1['name']='张'
dd1['age']=25
dd1['score']=[67,78,58,25,64]
print(dd1)

运行结果:

D:\pyproject\Project1\venv\Scripts\python.exe D:\pyproject\Project1\day1\test1.py 
type({})-><class 'dict'>
type([])-><class 'list'>
{'id': 1024, 'name': '张', 'age': 25, 'score': [67, 78, 58, 25, 64]}Process finished with exit code 0

4、

import json
class Base(object):def __init__(self, id, name, age):  # 相当于Java中的构造器self.id = idself.name = nameself.age = agedef hello(self):  # 类中的一个普通实例方法,用类对象调用print("*** hello,Base ***")def __str__(self):  # 相当于Java中的toString方法,在此重写对象return json.dumps(self, indent=4, ensure_ascii=False,default=lambda o: o.__dict__)
b1 = Base(1112, "jack", 23)
print(b1)
print(b1.id)
print(b1.name)
print(b1.age)
print()
class MyUtilClass(object):def __str__(self):  # 相当于Java中的toString方法,在此重写对象return json.dumps(self, indent=4, ensure_ascii=False,default=lambda o: o.__dict__)
class Person(MyUtilClass):pass
p = Person()  # 此处调用默认的无参构造器创建Person对象
p.__setattr__("name", "张小三")
p.__setattr__("age", 22)
p.__setattr__("address", '中国 山东 泰安')
print(p)
print('name ->', p.name)
print('age ->', p.age)
print('address ->', p.address)

运行结果:

D:\pyproject\Project1\venv\Scripts\python.exe D:\pyproject\Project1\day1\test2.py 
{"id": 1112,"name": "jack","age": 23
}
1112
jack
23{"name": "张小三","age": 22,"address": "中国 山东 泰安"
}
name -> 张小三
age -> 22
address -> 中国 山东 泰安Process finished with exit code 0

5、

class Student(object):def __init__(self, id=None, name=None, age=None):self.id = idself.name = nameself.age = ages2 = Student()  # 不提供参数,使用默认值
s2.id = "1023"
s2.name = "张三"
s2.age = "20"print(s2.id)
print(s2.name)
print(s2.age)

运行结果:

1023
张三
20

6、

import json
filename="../files/student.json";
print()
print('filename -> ', '\'', filename, '\'', sep='')
print()
with open(filename,'r',encoding='utf-8')as ff:print("将文件内容以字符串形式输出")rr=ff.read()print(rr)print()print("将文件内容处理为一个字典对象")dic=json.loads(rr)print(dic)print(type(dic))print()js=json.dumps(dic,ensure_ascii=False)print(js)print(type(js))

运行结果:

将文件内容以字符串形式输出
{"id": 1024,"name": "王小明","age": 21,"score": [77, 88, 98]
}将文件内容处理为一个字典对象
{'id': 1024, 'name': '王小明', 'age': 21, 'score': [77, 88, 98]}
<class 'dict'>{"id": 1024, "name": "王小明", "age": 21, "score": [77, 88, 98]}
<class 'str'>

7、用最简洁的方法生成一个一维整型数组,共计17个元素,每个元素都在10-150之间。要求升序排列,降序排列,统计数组的最大值,最小值,平均值。

法一:

import randoma= [random.randint(10, 150) for i in range(7)]# 升序排列数组
arr_asc = sorted(a)
print(arr_asc)# 降序排列数组
arr_desc = sorted(a, reverse=True)
print(arr_desc)# 统计数组最大值、最小值、平均值
max_val = max(a)
min_val = min(a)
avg_val = sum(a) / len(a)print("最大值:", max_val)
print("最小值:", min_val)
print("平均值:", avg_val)

运行结果:

[20, 30, 44, 77, 134, 145, 148]
[148, 145, 134, 77, 44, 30, 20]
最大值: 148
最小值: 20
平均值: 85.42857142857143

法二:

from random import randint
nn = 7
arr = [randint(10, 150) for k in range(nn)]
print("*** 原始数组 ***")
for elem in arr:print('->', elem)
print("*** 升序 ***")
arr.sort()
for elem in arr:print('->', elem)
print("*** 降序 ***")
arr.sort(key=lambda e: -e)
total = 0
for elem in arr:total += elemprint('->', elem)
print("*** 最值 ***")
print('max ->', arr[0])
print('min ->', arr[-1])
print('average ->', total / nn)

运行结果:

*** 原始数组 ***
-> 61
-> 29
-> 65
-> 62
-> 111
-> 33
-> 133
*** 升序 ***
-> 29
-> 33
-> 61
-> 62
-> 65
-> 111
-> 133
*** 降序 ***
-> 133
-> 111
-> 65
-> 62
-> 61
-> 33
-> 29
*** 最值 ***
max -> 133
min -> 29
average -> 70.57142857142857

8、从一个名为dept.txt的文件中读取数据,将这些数据存储在一个Dept类的实例中,并将所有实例存储在一个名为depts的列表中。

from ming import BaseClass
class Dept(BaseClass):pass
depts = []
names = ['deptno', "dname", 'loc']
nn = names.__len__()
with open("../files/dept.txt", 'r', encoding="UTF-8") as ff:rr = ff.read()rows = rr.split("\n")for row in rows:cols = row.split(",")dept = Dept()for i in range(nn):dept.__setattr__(names[i], cols[i])depts.append(dept)
for dept in depts:print(dept)

ming.py

import json
import random
import time
'''生成一个随机整数,如果无参,则返回100以内的整数如果传递了参数,则返回0-参数间的随机整数
'''
def rnd(value=100):return int(random.random() * value)
'''输入两个整数参数,返回两数之间的随机值
'''
def rd(a=0, b=100):return int(a + random.random() * (b - a))
'''一个通用的父类,主要是在输出类对象时,以JSON的方式输出
'''
def tojson(dic):return json.dumps(dic, indent=4, ensure_ascii=False,default=lambda o: o.__dict__)
class BaseClass(object):def __str__(self):return json.dumps(self, indent=4,ensure_ascii=False,default=lambda obj: obj.__dict__)
'''以 10 进制表示的RGB 颜色
'''
def rgb():return 'rgb(' + str(random.randint(0, 255)) + "," + str(random.randint(0, 255)) + ',' + str(random.randint(0, 255)) + ")"
'''16 进制颜色
'''
def hexcolor():cstr = 'ABCDEF01234567890'rr = '#'for i in range(6):rr += cstr[rnd(len(cstr))]return rr
'''一个用于统计函数运行时间的装饰器类
'''
class MyTimer:def __init__(self, func):self.func = funcdef __call__(self, *args, **kwargs):begin = time.time()val = self.func(*args, **kwargs)end = time.time()print(f'用时 : {end - begin} 秒!')if val is not None:print('->', val)
'''一个用于带异常处理函数的装饰器类
'''
class ExpTry:def __init__(self, func):self.func = funcdef __call__(self, *args, **kwargs):try:ret = self.func(*args, **kwargs)if ret is not None:print('返回 ->', ret)except Exception as err:print('出错信息: ', err)return
'''一个用于统计时间的装饰器类
'''
class TimeIt:def __init__(self, prefix, postfix):self.prefix = prefixself.postfix = postfixdef __call__(self, func):def wrapper(*args, **kwargs):start = time.time()val = func(*args, **kwargs)if val is not None:print('返回 ->', val)end = time.time()print(f'{self.prefix} : {end - start} {self.postfix}!')return wrapper

运行结果:

{"deptno": " 10","dname": "ACCOUNTING","loc": "NEW YORK"
}
{"deptno": " 20","dname": "RESEARCH","loc": "DALLAS"
}
{"deptno": " 30","dname": "SALES","loc": "CHICAGO"
}
{"deptno": " 40","dname": "OPERATIONS","loc": "BOSTON"
}

9、

from pyecharts.faker import Faker
# 产生七种动物
animals = Faker.animal
print(type(animals))
for animal in animals:print('->', animal)
print('* * * * * * * * * * * * * * * * * * * * * * * * *')
# 产生七种水果
fruits = Faker.fruits
for fruit in fruits:print('->', fruit)
print('* * * * * * * * * * * * * * * * * * * * * * * * *')
# 产生七种饮料
drinks = Faker.drinks;
for drink in drinks:print('->', drink)
print('* * * * * * * * * * * * * * * * * * * * * * * * *')
# 产生七种0-150之间的随机整数
values = Faker.values()
for value in values:print('->', value)
print('* * * * * * * * * * * * * * * * * * * * * * * * *')
# 产生七种服装
clothes = Faker.clothes
for clothe in clothes:print('->', clothe)

运行结果:

-> 河马
-> 蟒蛇
-> 老虎
-> 大象
-> 兔子
-> 熊猫
-> 狮子
* * * * * * * * * * * * * * * * * * * * * * * * *
-> 草莓
-> 芒果
-> 葡萄
-> 雪梨
-> 西瓜
-> 柠檬
-> 车厘子
* * * * * * * * * * * * * * * * * * * * * * * * *
-> 可乐
-> 雪碧
-> 橙汁
-> 绿茶
-> 奶茶
-> 百威
-> 青岛
* * * * * * * * * * * * * * * * * * * * * * * * *
-> 33
-> 58
-> 39
-> 68
-> 89
-> 75
-> 23
* * * * * * * * * * * * * * * * * * * * * * * * *
-> 衬衫
-> 毛衣
-> 领带
-> 裤子
-> 风衣
-> 高跟鞋
-> 袜子

10、

from pyecharts.faker import Faker
# 产生16进制的随机颜色
for i in range(5):print('->', Faker.rand_color())
print()
# 产生一周的日期
weeks = Faker.week
print(weeks)
print()
# 产生七个国家
cc = Faker.country
for c in cc:print('->', c)
print()
# 产生七种名车
cars = Faker.cars
for car in cars:print('->', car)
print()
# 产生七种名犬
dogs = Faker.dogs
for dog in dogs:print('->', dog)
print()
# 产生 12 月份
months = Faker.months
print('->', months)
print()
# 产生七种手机品牌
phones = Faker.phones
print(phones)
print()
# 产生七个省或直辖市
provinces = Faker.provinces
print('->', provinces)

运行结果:

-> #bda29a
-> #c23531
-> #d48265
-> #1d953f
-> #f05b72['周一', '周二', '周三', '周四', '周五', '周六', '周日']-> China
-> Canada
-> Brazil
-> Russia
-> United States
-> Africa
-> Germany-> 宝马
-> 法拉利
-> 奔驰
-> 奥迪
-> 大众
-> 丰田
-> 特斯拉-> 哈士奇
-> 萨摩耶
-> 泰迪
-> 金毛
-> 牧羊犬
-> 吉娃娃
-> 柯基-> ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']['小米', '三星', '华为', '苹果', '魅族', 'VIVO', 'OPPO']-> ['广东省', '北京市', '上海市', '江西省', '湖南省', '浙江省', '江苏省']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/31833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三种方式实现人车流统计(yolov5+opencv+deepsort+bytetrack+iou)

一、运行环境 1、项目运行环境如下 2、CPU配置 3、GPU配置 如果没有GPU yolov5目标检测时间会比较久 二、编程语言与使用库版本 项目编程语言使用c++,使用的第三方库,onnxruntime-linux-x64-1.12.1,opencv-4.6.0 opencv 官方地址Releases - OpenCV opencv github地址ht…

使用Redis优化Java应用的性能

使用Redis优化Java应用的性能 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨如何使用Redis优化Java应用的性能。Redis是一种开源的内存数据结构…

【面试】http

一、定义 HTTP&#xff08;超文本传输协议&#xff09;&#xff0c;是一种用于分布式、协作式、超媒体信息系统的应用层协议&#xff0c;它是万维网数据通信的基础。主要特点是无状态&#xff08;服务器不会保存之前请求的状态&#xff09;、无连接&#xff08;服务器处理完请…

探索 C# 中的 LINQ:语法和类型

LINQ&#xff08;语言集成查询&#xff09;是 C# 中引入的一项功能&#xff0c;它提供了一种统一的方式来查询来自不同类型数据源&#xff08;如集合、数组、XML、数据库等&#xff09;的数据。LINQ 允许开发人员直接在 C# 代码中编写查询&#xff0c;从而更轻松地操作和转换数…

http发展史(http0.9、http1.0、http1.1、http/2、http/3)详解

文章目录 HTTP/0.9HTTP/1.0HTTP/1.1队头阻塞&#xff08;Head-of-Line Blocking&#xff09;1. TCP 层的队头阻塞2. HTTP/1.1 的队头阻塞 HTTP/2HTTP/3 HTTP/0.9 发布时间&#xff1a;1991年 特点&#xff1a; 只支持 GET 方法没有 HTTP 头部响应中只有 HTML 内容&#xff0…

七、yolov8图像标注和模型训练(目标检测)

环境配置方法&#xff1a;点这里 环境配置完毕后&#xff0c;需要进行标注工作和训练任务&#xff0c;以下分两个部分进行。 图片标注 1、按照以下的格式&#xff0c;将图片放入images中。&#xff08;不限制文件夹路径&#xff09; 2、然后下载labelme标注工具&#xff0…

循环赛日程表

描述 n 2 ^ k个选手 每个选手必须与其他n-1个选手各赛一次每个选手一天赛一次比赛打n-1天 思路 k 3时的解 我们先进行假设&#xff1a;每个选手第一天和自己比&#xff0c;然后分解成4个子问题&#xff1a; (1)14号的第14天&#xff0c;对手1~4号; (2)14号的第58天&a…

VS编译器字体颜色设置

默认颜色不好看&#xff0c;颜色之间代码各个关系之间没有很强关联性所以要设置字体颜色 颜色一步到位版本&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a;One dark Pro 第四步&#xff1a; 等待安装完后重启VS 点击Modify&#xff0c;一段时间结束后选…

IDEA 学习之 打开一个 MAVEN 工程

目录 1. 单体工程2. 多 module 工程3. 多个多 module 工程3.1. 重复 1 步骤3.2. 添加其他多 module 工程 1. 单体工程 2. 多 module 工程 3. 多个多 module 工程 3.1. 重复 1 步骤 3.2. 添加其他多 module 工程

django学习入门系列之第三点《CSS基础样式介绍2》

文章目录 文字对齐方式外边距内边距往期回顾 文字对齐方式 水平对齐方式 text-align: center;垂直对齐方式 /* 注意&#xff0c;这个只能是一行来居中 */ line-height:/*长度*/ ;样例 <!DOCTYPE html> <html lang"en"> <head><meta charset…

docker 环境部署

1.Redis部署 用docker拉取redis镜像 docker pull redis 用docker查看拉取的镜像版本号&#xff0c;这里查到的是 6.2.6 版本 docker inspect redis 通过wget指令下载对应版本的tar包&#xff0c;下载完成后解压 wget https://download.redis.io/releases/redis-6.2.6.tar.gz …

【2023年全国青少年信息素养大赛智能算法挑战赛复赛真题卷】

目录 2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题 2023全国⻘少年信息素养⼤赛智能算法挑战复赛⼩学组真题 2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题 1. 修复机器人的对话词库错误 【题目描述】 基于人工智能技术的智能陪伴机器人的语言词库被…

集合注意事项

目录 我们为什么要用到集合中的迭代器 List实现类的循环遍历 Set集合 HashSet TreeSet Map Hashmap Treemap Hashtable map的遍历方式 Collections的一些静态方法 我们为什么要用到集合中的迭代器 List实现类的循环遍历 如图我们对arraylist中加入了三个相同的“a”…

多路h265监控录放开发-(8)通过XCameraWIget类拖拽实现指定播放rtsp和窗口

首先修改xviewer的构造函数&#xff0c;把创建QWiget对象改为XCameraWiget对象&#xff0c;执行XCameraWiget类的构造函数 xcamera_widget.h #pragma once #include <QWidget> class XCameraWidget :public QWidget {Q_OBJECTpublic:XCameraWidget(QWidget* p nullptr)…

第一百一十八节 Java面向对象设计 - Java接口

Java面向对象设计 - Java接口 什么是接口&#xff1f; Java中的接口定义了一个引用类型来创建抽象概念。接口由类实现以提供概念的实现。 在Java 8之前&#xff0c;一个接口只能包含抽象方法。 Java 8允许接口具有实现的静态和默认方法。 接口通过抽象概念定义不相关类之间…

网络安全:Web 安全 面试题.(SQL注入)

网络安全&#xff1a;Web 安全 面试题.&#xff08;SQL注入&#xff09; 网络安全面试是指在招聘过程中,面试官会针对应聘者的网络安全相关知识和技能进行评估和考察。这种面试通常包括以下几个方面&#xff1a; &#xff08;1&#xff09;基础知识:包括网络基础知识、操作系…

BGP路由反射器实验

实验内容: 通过本实验验证bgp路由反射器的规则 1. 从client收到的路由更新,反射到non-client和client,同时发送给EBGP邻居 2. 从non-client收到的路由更新,只反射到client,同时

uniapp使用uviews上传多张图片

uniapp使用uviews上传多张图片&#xff0c;出现获取的图片路径重复了&#xff0c;是因为放在了onchange中了&#xff0c;解决方法 <u-upload :auto-upload"true" :action"action" :header"imgheader" :file-list"fileList"on-remov…

容器之事件盒

代码&#xff1a; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>static void label_const(GtkWidget *eventbox) {static int i 0;static char citem[100];sprintf(citem, &quo…

【Unity学习笔记】第十八 基于物理引擎的日月地系统简单实现

转载请注明出处: https://blog.csdn.net/weixin_44013533/article/details/139701843 作者&#xff1a;CSDN|Ringleader| 目录 目标数学理论资源准备数据准备代码实现Unity准备效果展示注意事项后记 目标 目标&#xff1a;利用Unity的物理引擎实现 “日地月三体系统” 。 效果…