Python作业(二)

2023-10-27

作业典例汇总(二)

注:已输入的库已全局应用,有需要可自行添加。

1. 数学计算【难度:⭐】

在 3 行中分别输入一个浮点数,利用下面公式计算并输出 x 的值,严格保留小数点后2位数字。

 

 a = 学号最后一位, b = 1, c = -1 。

import math
a=9;b=1;c=-1
d=pow(b*b-4*a*c,0.5)
print("{:.2f}".format((-1+d)/(2*a)))

2. 随机数计算【难度:⭐】

(1)随机生成1000个字母,包含大写字母和小写字母,统计各个字母出现的次数,统计时忽略字母的大小写,将统计结果按照字母出现的次数从高到低排序输出。

import random
from collections import Counter
# 生成随机字母列表
letters = [random.choice('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') for _ in range(1000)]
# 统计字母出现次数,忽略大小写
letter_counts = Counter([letter.lower() for letter in letters])
# 按照字母出现次数从高到低排序输出
for letter, count in sorted(letter_counts.items(), key=lambda x: x[1], reverse=True):
    print(f"{letter}: {count}")

2)在程序中随机为用户生成 6 位数短信验证码,包含大写字母。 

list=random.choices('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ',k=6)
code=''.join(list)
print(code)

3. 数组操作【难度:⭐⭐】

(1)在已知a为4行5列的二维数组,内容如下所示,请回答以下问题:

a = [ [1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20] ]

  • a[2, 3]、a[2]、a[2][3] 、a[2][:3]、a[:][:3] 、a[:, :3]各自表示什么含义?
  • 如果只想获取第2行和第4行数据,如何表示?请打印
  • 如果只想获取第3列和第5列数据,如何表示?请打印
  • 如果想获取大于10且能被3整除的数据,如何表示?请打印
  • 将该数组垂直平均分割成2个子数组,并打印2个子数组
  • 将该数组水平分割为3个子数组:第1列,第2-4列,第6列,并打印3个子数组
'''
a[2,3] 表示访问二维数组中第3行第4列的元素
a[2] 表示访问二维数组中第3行的所有元素
a[2][3] 表示访问二维数组中第3行第4列的元素
a[2][:3] 表示访问二维数组中第3行的前3个元素
a[:][:3] 和 a[:, :3]都表示访问二维数组中所有行的前3个元素
'''
import numpy as np
a = np.array([[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20]])
print([a[1], a[3]])#获取第2行和第4行数据
print("len(a)=",len(a))
a_3_5 = [[a[i][2], a[i][4]] for i in range(len(a))]
print(a_3_5)#获取第3列和第5列数据
a_10_3 = a[(a > 10) & (a % 3 == 0)]
print(a_10_3)# 获取大于10且能被3整除的数据
a_vertical= np.vsplit(a, 2)
print(a_vertical)# 将该数组垂直平均分割成2个子数组
a_horizontal= np.hsplit(a, [1,4,5])
print(a_horizontal)# 将该数组水平分割为3个子数组:第1列,第2-4列,第6列

(2)创建一个10 X 10的随机数组并找到它的最大值与最小值

import numpy as np
import random as rd
a=np.random.rand(10,10)
print(a)
print("min=",np.min(a))
print("max=",np.max(a))

(3)对10×10随机矩阵做归一化处理 

# 生成10x10的随机矩阵
matrix = np.random.rand(10, 10)
# 对每列进行归一化处理
normalized_matrix = matrix / np.linalg.norm(matrix, axis=0)
print(normalized_matrix)

4.绘图操作【难度:⭐⭐⭐】

(1)绘制如下饼图、线型图、直方图与散点图(其中饼图、直方图、散点图所显示的数据自行指定范围随机生成),效果类似下图即可。

 

 

 

 

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties#添加中文字符
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=12)#修改字体
'''
绘制饼图
'''
# 数据
labels = ['A', 'B', 'C', 'D']
sizes = [17.2, 27.6, 24.1, 31]
# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.axis('equal')  # 使饼图为正圆形
# 显示图像
plt.show()
'''
绘制线型圆
'''
# 数据
x = np.arange(0, 14, 0.1)
y = 4*np.cos(2*np.pi*x)
# 绘制线型图
plt.plot(x, y)
# 添加标题和标签
plt.title('正弦波y=cos(2πx)', fontproperties=font)
plt.xlabel("横轴:时间",fontproperties=font)
plt.ylabel('纵轴:振幅',fontproperties=font)
#设置坐标轴取值范围
plt.xlim(0, 14)
plt.ylim(-4, 4)
# 显示图像
plt.show()
'''
绘直方图
'''
# 数据
x = np.random.randn(1000)
# 绘制直方图
plt.hist(x, bins=50)
# 添加标题和标签
plt.title('直方图',fontproperties=font)
plt.xlabel('X轴',fontproperties=font)
plt.ylabel('Y轴',fontproperties=font)
# 显示图像
plt.show()
'''
绘散点图
'''
# 数据
x = np.random.randn(100)
y = 3 * x + 2 + np.random.randn(100)
# 绘制散点图
plt.scatter(x, y)
# 添加标题和标签
plt.title('散点图', fontproperties=font)
plt.xlabel('X', fontproperties=font)
plt.ylabel('Y', fontproperties=font)
# 显示图像
plt.show()

 (2)绘制一个二维随机漫步的图形,要求1000步。

import numpy as np
import matplotlib.pyplot as plt
# 数据
n_steps = 1000#要求1000步
x = np.zeros(n_steps)
y = np.zeros(n_steps)
# 随机漫步
for i in range(1, n_steps):
    x[i] = x[i-1] + np.random.normal()
    y[i] = y[i-1] + np.random.normal()
# 绘制图像
plt.plot(x, y)
# 添加标题和标签
plt.title('二维随机漫步',fontproperties=font)
plt.xlabel('x轴',fontproperties=font)
plt.ylabel('y轴',fontproperties=font)
# 显示图像
plt.show()

 (3)绘制cos(x)-sin(x)+2cos(x/2)-2sin(x/2)+...+ncos(x/n)-nsin(x/n)曲线图(自行指定坐标轴范围)

 

import numpy as np
import matplotlib.pyplot as plt
# 数据
x = np.linspace(0, 4*np.pi, 500)
y = np.zeros_like(x)
# 计算y值
for n in range(1, 21):
    y += n * np.cos(x/n) - n * np.sin(x/n)
# 绘制曲线图
plt.plot(x, y)
# 添加标题和标签
plt.title('曲线图',fontproperties=font)
plt.xlabel('x轴',fontproperties=font)
plt.ylabel('y轴',fontproperties=font)
# 显示图像
plt.show()

 (4)显示一组二维数据的频度分布,并分别在x,y轴上,显示该维度的数据的频度分布(所显示数据可随机生成服从某种分布的二维数据)

import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据,服从正态分布
data = np.random.normal(loc=0, scale=1, size=(1000, 2))
# 绘制二维数据频度分布图
plt.hist2d(data[:,0], data[:,1], bins=30, cmap=plt.cm.Blues)
# 显示x轴和y轴的频度分布
plt.hist(data[:,0], bins=30, alpha=0.5, color='red', orientation='vertical')
plt.hist(data[:,1], bins=30, alpha=0.5, color='green', orientation='horizontal')
# 添加标题和标签
plt.title('二维数据的频度分布',fontproperties=font)
plt.xlabel('x轴',fontproperties=font)
plt.ylabel('y轴',fontproperties=font)
# 显示图像
plt.show()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python作业(二) 的相关文章

  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • 与 iexact 一起使用时,Django get_or_create 无法设置字段

    我想用name iexact with get or create尽可能避免用户输入字段的重复 我的提供者模型有一个名称字段 我在其中使用get or create 查找工作正常 但在第一次创建实例时 如下面的 p1 Timber 示例 名
  • PyList_SetItem 与 PyList_SETITEM

    据我所知 PyList SetItem 和 PyList SETITEM 之间的区别在于 PyList SetItem 会降低它覆盖的列表项的引用计数 而 PyList SETITEM 不会 我有什么理由不应该一直使用 PyList Set
  • 具有多处理功能的 Python 代码无法在 Windows 上运行

    以下简单的绝对初学者代码在 Ubuntu 14 04 Python 2 7 6 和 Cygwin Python 2 7 8 上运行 100 但在 Windows 64 位 Python 2 7 8 上挂起 我使用另一个片段观察到了同样的情况
  • python导入模块时如何避免一直写模块名?

    我用math最近模块很多 我不想写math sqrt x and math sin x 每时每刻 我想缩短它并写sqrt x and sin x How 对于较长的模块名称 通常会缩短它们 例如 import numpy as np 然后您
  • 为什么我不能使用“exclude”从 python 轮子中排除“tests”目录?

    考虑以下包结构 与以下setup py内容 from setuptools import setup find packages setup name dfl client packages find packages exclude te
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • Python + PostgreSQL + 奇怪的ascii = UTF8编码错误

    我有包含字符的 ascii 字符串 x80 代表欧元符号 gt gt gt print x80 当将包含该字符的字符串数据插入数据库时 我得到 psycopg2 DataError invalid byte sequence for enc
  • Python的reduce()短路了吗?

    If I do result reduce operator and False 1000 得到第一个结果后它会停止吗 自从False anything False 相似地 result reduce operator or True 10
  • 将 API 数据存储到 DataFrame 中

    我正在运行 Python 脚本来从 Interactive Brokers API 收集金融市场数据 连接到API后 终端打印出请求的历史数据 如何将数据保存到数据帧中而不是在终端中流式传输 from ibapi wrapper impor
  • conda 无法从 yml 创建环境

    我尝试运行下面的代码来从 YAML 文件创建虚拟 Python 环境 我在 Ubuntu 服务器上的命令行中运行代码 虚拟环境名为 py36 当我运行下面的代码时 我收到下面的消息 环境也没有被创建 这个问题是因为我有几个必须使用 pip
  • Python 正则表达式部分匹配或“hitEnd”

    我正在编写一个扫描器 因此我将任意字符串与正则表达式规则列表进行匹配 如果我可以模拟 Java hitEnd 功能 不仅知道正则表达式何时不匹配 还知道何时匹配 这将非常有用 can t匹配 当正则表达式匹配器在决定拒绝输入之前到达输入末尾
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • pip 安装软件包两次

    不幸的是我无法重现它 但我们已经见过几次了 pip 将一个软件包安装两次 如果卸载第一个 第二个就会可见并且也可以被卸载 我的问题 如果一个包安装了两次 如何用 python 检查 背景 我想编写一个测试来检查这一点 devOp Updat
  • smooth_idf 是多余的吗?

    The scikit learn 文档 http scikit learn org stable modules generated sklearn feature extraction text TfidfTransformer html
  • 为什么 bot.get_channel() 会产生 NoneType?

    我正在制作一个 Discord 机器人来处理公告命令 当使用该命令时 我希望机器人在特定通道中发送一条消息 并向用户发送一条消息以表明该命令已发送 但是 我无法将消息发送到频道 我尝试了这段代码 import discord import
  • 如何设置 matplotlib 表中列的背景颜色

    我在一个目录中有多个 txt 文件 例如 d memdump 0 txt 1 txt 10 txt 示例文本文件如下 Applications Memory Usage kB Uptime 7857410 Realtime 7857410
  • 最小硬币找零问题——回溯

    我正在尝试用最少数量的硬币解决硬币找零问题 采用回溯法 我实际上已经完成了它 但我想添加一些选项 按其单位打印硬币数量 而不仅仅是总数 这是我下面的Python代码 def minimum coins coin list change mi
  • 获取调用者文件的绝对路径

    假设我在不同的目录中有两个文件 1 py 比如说 在C FIRST FOLDER 1 py and 2 py 比如说 在C SECOND FOLDER 2 py 文件1 py进口2 py using sys path insert 0 pa
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D

随机推荐

  • 智安网络丨人工智能在网络攻防领域的应用及问题分析

    算法 数据与算力是人工智能发展的三大核心要素 近些年来 在算法增强 数据爆增及算力提升等多种有利因素的驱动下 人工智能飞速发展并在各行各业得到广泛应用 在网络空间安全领域也不例外 网络攻防对抗不断演化升级 人工智能因其具备自学习和自适应能力
  • Python学习第九天——time、datetime

    1 time 以当前时间为准 让大家快速认识三种形式的时间 print time time 时间戳 1487130156 419527 print time strftime Y m d X 格式化的时间字符串 2017 02 15 11
  • 2023华为od机试统一考试B卷Java实现【座位调整】

    前言 本题使用Java解答 如果需要python答案 请参考以下链接 点我 思路 如果某位置是空的 用0表示 要检查这个位置的左右是否也是空的 如果是 则这个位置可以坐人 如果这个位置坐人了 那么下一个位置肯定不能坐人 所以我们要向前跳过一
  • Vue底层理解

    1 key的作用 首先v for 在列表渲染时 我们可以用v for基于一个数组来渲染一个列表 v for指令需要使用item in arr形式的特殊语法来进行渲染列表 arr是源数据 ul li item message li ul 当V
  • 周期方波信号频谱图

    在学习傅里叶变换的时候遇到了求周期方波信号频谱图的例子 在书上和网上查阅了一些资料 发现大都是讨论的都是下图左边的周期信号的频谱 课程老师的PPT中也只列出了另一种周期信号频谱图的结论 没有在进行傅里叶变换 自己便根据定义推导了一遍 贴在这
  • 天池零基础入门NLP - 新闻文本分类Top1方案的bert4torch复现

    天池有些长期比赛可以练习玩玩 还可以继续提交 于是试了下简单的新闻文本分类任务 Top1的解决方案思路是 预训练 fgm 交叉验证模型融合 代码是基于bert4keras的 本人基于bert4torch复现了 fgm 交叉验证模型融合 部分
  • 查询计算机网络凭据,查看电脑账密利器 - 电脑凭据管理器图文使用教程

    原标题 查看电脑账密利器 电脑凭据管理器图文使用教程 在使用浏览器时我们习惯通过记住密码来保存登录账号 方便下次登录使用 但是这些密码要怎么查看呢 如果我忘记了某个账号 我该如通过浏览器记住的密码找回呢 其实在Win系统上有个功能是大家平时
  • 点估计及矩估计的一些理解

    点估计指的是用样本统计量来估计总体参数 因为样本统计量为数轴上某一点值 估计的结果也以一个点的数值表示 所以称为点估计 在这个定义中 总体参数也即是总体分布的参数 一般我们在讨论总体分布的时候 只有在简单随机样本 样本独立同分布 情况下才有
  • 智能合约基本知识

    合约就是个类 就是一段普普通通的程序 区块链网络上有原生货币和代币 对代币的操作 需要用代币合约的地址实例化一个对象 然后通过这个对象的相应的方法去操作 授权和转移 1 emit 是触发一个事件 就相当于是在函数执行的过程中给你发了一个执行
  • vue解决vant组件样式失效问题

    vue项目中引入vant组件 若发现vant组件样式失效 通常有以下几种解决方法 方法一 引入全局样式 在引入vant组件的地方或者全局引入vant组件所有的样式 引入方法为 在vue引入vant的页面中 添加以下代码 import van
  • Java数组String []的用法详解

    Java数组是在Java编程中经常使用的一个类 下面是对Java数组的使用说明 1 Java数组的语法 String 数组下标 Java数组的下标是从0开始的 2 示例代码 public class StringArray public s
  • 深度分析Linux下双网卡绑定七种模式 多网卡的7种bond模式原理

    多网卡的7种bond模式原理 Linux网卡绑定mode共有七种 0 6 bond0 bond1 bond2 bond3 bond4 bond5 bond6 常用的有三种 mode 0 平衡负载模式 有自动备援 但需要 Switch 支援及
  • Android的Button属性使用

    目录 1 文字大小 颜色 2 自定义背景形状 一 Shape的属性 rectangle oval line ring 二 shape的子属性 corners gradient padding size solid stroke 3 自定义按
  • R语言(5) 折线图、散点图

    低级绘图函数 lines abline points 函数lines 其作用是在已有图上加线 命令为lines x y 其功能相当于plot x y type l lines比abline更灵活 函数abline 可以在图上加直线 其使用方
  • 【ESP32-IDF】04-3 存储-FATFS

    主系统flash挂载fatfs文件系统 文章目录 主系统flash挂载fatfs文件系统 1 概述 2 步骤 2 1 修改分区表 2 2 在主系统flash中挂载文件系统 2 3 使用操作文件的函数进行操作 2 4 卸载文件系统 3 总的程
  • Dlib 通过NVIDIA的 CUDA 使用GPU

    使用工具列表 经过各种尝试 只有使用cudnn7这个版本 才能使人脸识别的net函数运行正常 如果有朋友能把其它版本跑正常 可以在下方评论区留言 win10 dlib 19 22 zip VS2019 cudnn 10 2 windows1
  • 操作系统学习8同步互斥问题

    回顾一下同步互斥的概念 现代操作系统基本都是多任务操作系统 即同时有大量可调度实体在运行 在多任务操作系统中 同时运行的多个任务可能 都需要访问 使用同一种资源 多个任务之间有依赖关系 某个任务的运行依赖于另一个任务 这两种情形是多任务编程
  • 稳定性、效率和成本

    互联网企业容器技术实践 第3章美丽联合容器云实践 本章首先介绍美丽联合集团基于Kubernetes和Docker容器云平台的技术方案 架构演进的三个阶段 以及在稳定性 效率和成本三方面所做的工作 然后介绍关键技术方案及创新点 最后谈一下个人
  • 猜数字游戏

    Random random new Random 随机产生数值 int num random nextInt 11 11的意思是取值范围是 1 11 Scanner s new Scanner System in 从控制台输入 int ti
  • Python作业(二)

    作业典例汇总 二 注 已输入的库已全局应用 有需要可自行添加 1 数学计算 难度 在 3 行中分别输入一个浮点数 利用下面公式计算并输出 x 的值 严格保留小数点后2位数字 a 学号最后一位 b 1 c 1 import math a 9