Python | 刷题日记
1.海伦公式求三角形的面积
area=根号下(p(p-a)(p-b)(p-c))
p是周长的一半
2.随机生成一个整数
import random
x=random.randint(0,9)#随机生成0到9之间的一个数
y=eval(input("please input:"))
if x==y:print("bingo")
elif x<y:print("da le")
elif x>y:print("xiao le")
print(f"随机数是{x}")
生成多个整数(有范围)
import random
n=input("请输入n:")
n=eval(n)
x=[random.randint(0,100) for i in range(n)]#生成0-100范围内的n个数字
print(x)
even=0
odd=0
for item in x:if item%2==0:even+=1else:odd+=1
print(f'odd num:{odd},even num:{even}')
3.输出字符金字塔
for i in range(1,6):for j in range(1,-2*i+11):print(" ",end="")s=chr(64+i) for k in range(1,2*i):print(s,end="")print("\n")
chr是什么:s=chr(64+i)
在编程中,
chr
是一个常见的函数(通常在像 Python 这样的语言中),用于将一个整数(通常是一个 ASCII 或 Unicode 码点)转换为其对应的字符。在你给出的代码片段
s = chr(64 + i)
中:
chr
是该函数的名字。64
是 ASCII 表中@
字符的码点。i
是一个变量,它的值在代码的其他部分被定义或赋值。当
i
被赋予某个整数值时,64 + i
会计算出一个新的整数,这个整数是 ASCII 表中@
字符之后第i
个字符的码点。然后,chr
函数将这个整数转换为其对应的字符,并将结果赋值给变量s
。例如:
- 如果
i = 0
,则s
会被赋值为'@'
(因为 64 + 0 = 64,这是 '@' 的 ASCII 码点)。- 如果
i = 1
,则s
会被赋值为'A'
(因为 64 + 1 = 65,这是 'A' 的 ASCII 码点)。- 如果
i = 2
,则s
会被赋值为'B'
,依此类推。注意:如果
i
的值导致64 + i
超出了 ASCII 表的范围(即,大于 127),那么结果字符将是一个扩展 ASCII 字符或 Unicode 字符(取决于你的系统和语言实现)。但在大多数 ASCII 环境中,只有 0 到 127 的值是有定义的。
4.利用sum求解列表的和
x=list(eval(input("请输入几个数字:")))
print("这几个数字的和是{}".format(sum(x)))
5.追加元素
fi=[1,1] n=2 while len(fi)<20:s=fi[n-1]+fi[n-2]fi.append(s)#错误写法:fi[n]=fi[n-1]+fi[n-2]#列表追加元素是appendn+=1 print(fi)
6.计算n个值
n=eval(input("请输入:"))
print(sum(int("6"*i) for i in range(1,n+1)))
#计算 6+6+666+...
7.利用string里面的ascii_uppercase和ascii_lowercase来计算大写和小写字母的和
import string
s=input("请输入一个字符:")
upper=string.ascii_uppercase
lower=string.ascii_lowercase
ans=0
for item in s:if item in upper:ans+=ord(item)-65+1if item in lower:ans+=ord(item)-97+1
print(ans)
A:65
a:97
ord 求ASCII值
chr 求ASCII对应的符号
ord的用法
8.如何实现按照每行10个元素输出元素
for i in range(0,50,10):
print(list1[i:i+10])
import random as r
list1=[r.randint(0,10) for i in range(50)]
#如何实现按照每行10个元素输出元素
for i in range(0,50,10):print(list1[i:i+10])
for i in range(10):print(f'{i}出现的次数:{list1.count(i)}')
9.怎样去除重复的元素,而且不影响原来的顺序
思路:创造两个列表
import random as r
list1=[r.randint(0,9) for i in range(30)]
print(list1)
list2=[]
for i in list1:if i not in list2:list2.append((i))
print(list2)
10.巧用sorted
import random
list1=[random.randint(10,99) for i in range(20)]
print(list1)
list1=sorted(list1[:10])+sorted(list1[10:],reverse=True)
print(list1)
对偶数下标进行降序,奇数下标不变
import random
list1=[random.randint(10,99) for i in range(20)]
print(list1)
list1[::2]=sorted(list1[::2],reverse=True)
#0 2 4
print(list1)
11.fromkeys
字典
fromkeys()
方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None。
dict .fromkeys(iterable, [value = None])
- 使用给定的一些键创建一个新的字典,所有键对象的值为
None
.
>>> {}.fromkeys(["name", "age"])
{'name': None, 'age': None}
- 当然,如果不想使用
None
来作为默认的值,也可以给定其他值.
>>> {}.fromkeys(["Jack", "Chow","Fook"], 0) # 注意这里只能附一个值
{'Jack': 0, 'Chow': 0, 'Fook': 0}
- 如果想赋上对于的
value值
的话,可以单独在对其赋值,不可append()
>>> {}.fromkeys(["Jack", "Chow","Fook"], 0)
{'Jack': 0, 'Chow': 0, 'Fook': 0}
>>> a = {}.fromkeys(["Jack", "Chow","Fook"], 0)
>>> a["Jack"] = "Jessie007"
>>> a
{'Jack': 'Jessie007', 'Chow': 0, 'Fook': 0}
切记不要append
>>> a = {}.fromkeys(["Jack", "Chow","Fook"], [])
>>> a['Jack'].append(9527)
>>> a
{'Jack': [9527], 'Chow': [9527], 'Fook': [9527]}
输入1行英文句子,统计各个单词出现的次数
text = input("请输入句子").lower().split()
dicttext={}.fromkeys(text,0)
for x in text:dicttext[x]+=1
print(dicttext)
text = input("请输入句子").lower().split()
input("请输入句子")
: 从用户那里获取一个字符串输入,该字符串代表一个句子。.lower()
: 将句子中的所有大写字母转换为小写字母。这样做是为了确保在后续的词频统计中,例如"Hello"和"hello"被视为同一个单词。.split()
: 默认情况下,这个方法会在任何空白(空格、制表符、换行符等)处分割字符串,返回一个单词列表。所以,如果输入是"Hello, world!"
,经过.lower().split()
后,text
的值会是一个列表['hello,', 'world!']
。注意,这里的逗号和感叹号仍然被视为单词的一部分,因为它们之间有空白分隔。
dicttext = {}.fromkeys(text, 0)
{}
: 创建一个空字典。.fromkeys(text, 0)
: 这是一个类方法,用于从text
列表中创建字典的键,并将所有键的值初始化为0。因此,如果text
是['hello,', 'world!']
,则dicttext
会是{'hello,': 0, 'world!': 0}
。这里,字典的键是句子中的单词(或更确切地说,是空白分隔的字符串片段),值都是0,表示这些单词的初始出现次数。
for x in text:
dicttext[x] += 1
- 这是一个循环,遍历
text
列表中的每个单词(或字符串片段)。- 对于每个单词
x
,它增加dicttext
中对应键的值。由于之前我们已经将所有键的值初始化为0,所以这里实际上是统计每个单词在句子中出现的次数。
print(dicttext)
- 这行代码打印出
dicttext
字典,即每个单词(或字符串片段)及其在句子中的出现次数。注意:如果你的目标是统计真正的单词(即,不考虑标点符号),你可能需要在调用
.split()
之前或之后进一步处理text
列表,例如使用正则表达式或简单的字符串替换来移除标点符号。
12.计算天数
import calendar as c
year=int(input("请输入年份:"))
month=int(input("请输入月份:"))
day=int(input("请输入天数:"))
sum=0
da={"1":31,"2":28,"3":31,"4":30,"5":31,"6":30,"7":31,"8":31,"9":30,"10":31,"11":30,"12":31}
if c.isleap(year):da["2"] = 29if int(month)>1:for i in range(1,int(month)):sum+=da[str(i)]sum+=day
else:sum+=day
print(sum)
相关文章:

Python | 刷题日记
1.海伦公式求三角形的面积 area根号下(p(p-a)(p-b)(p-c)) p是周长的一半 2.随机生成一个整数 import random xrandom.randint(0,9)#随机生成0到9之间的一个数 yeval(input("please input:")) if xy:print("bingo") elif x<y:pri…...

“JS逆向 | Python爬虫 | 动态cookie如何破~”
案例目标 目标网址:aHR0cHMlM0EvL21hdGNoLnl1YW5yZW54dWUuY29tL21hdGNoLzI= 本题目标:提取全部 5 页发布日热度的值,计算所有值的加和,并提交答案 常规 JavaScript 逆向思路 JavaScript 逆向工程通常分为以下三步: 寻找入口:逆向工程的核心在于找出加密参数的生成方式。…...

十.数据链路层——MAC/ARP
IP和数据链路层之间的关系 引言 在IP一节中,我们说IP层路由(数据转发)的过程,就像我们跳一跳游戏一样,从一个节点,转发到另一个节点 它提供了一种将数据从A主机跨网络发到B主机的能力 什么叫做跨网络??&a…...

Linux主机安全可视化运维(免费方案)
本文介绍如何使用免费的主机安全软件,在自有机房或企业网络实现对Linux系统进行可视化“主机安全”管理。 一、适用对象 本文适用于个人或企业内的Linux服务器运维场景,实现免费、高效、可视化的主机安全管理。提前发现主机存在的安全风险,全方位实时监控主机运行时入侵事…...
Vite + Vue 3 前端项目实战
一、项目创建 npm install -g create-vite #安装 Vite 项目的脚手架工具 # 或者使用yarn yarn global add create-vite#创建vite项目 create-vite my-vite-project二、常用Vue项目依赖安装 npm install unplugin-auto-import unplugin-vue-components[1] 安装按需自动导入组…...

python-字符替换
[题目描述] 给出一个字符串 s 和 q 次操作,每次操作将 s 中的某一个字符a全部替换成字符b,输出 q 次操作后的字符串输入 输入共 q2 行 第一行一个字符串 s 第二行一个正整数 q,表示操作次数 之后 q 行每行“a b”表示把 s 中所有的a替换成b输…...

团队项目开发使用git工作流(IDEA)【精细】
目录 开发项目总体使用git流程 图解流程 1.创建项目仓库[组长完成] 2. 创建项目,并进行绑定远程仓库【组长完成】 3.将项目与远程仓库(gitee)进行绑定 3.1 创建本地的git仓库 3.2 将项目添加到缓存区 3.3 将项目提交到本地仓库&#…...
爬虫案例实战
文章目录 一、窗口切换实战二、京东数据抓取 一、窗口切换实战 案例实战:使用selenium实现打开百度和腾讯两个窗口并切换 知识点:用到selenium中execute_script()执行js代码及switch_to.window()方法 全部代码如下: import time import war…...

uniapp uni-popup内容被隐藏问题
今天开发新需求的时候发现uni-popup 过一会就被隐藏掉只留下遮罩(css被更改了),作者进行了如下调试。 1.讲uni-popup放入其他节点内 失败! 2.在生成dom后在打开 失败! 3.uni-popup将该节点在包裹一层 然后将统计设置样式,v-if v-s…...

leetcode155 最小栈
题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。i…...

在Ubuntu乌班图上安装Docker
最近在学习乌班图相关的内容,找了一些文档安装的都是报错的,于是记录一下学习过程,希望也能帮助有缘人,首先查看乌班图的系统版本,我的是如下的: cat /proc/version以下是在Ubuntu 20.04版本上安装Docker。…...

【Redis数据库百万字详解】数据持久化
文章目录 一、持久化1.1、什么是持久化1.2、持久化方式1.3、RDB优缺点1.4、AOF优缺点 二、RDB持久化触发机制2.1、手动触发2.2、自动触发 三、RDB持久化配置3.1、配置文件3.2、配置查询/设置3.3、禁用持久化3.4、RDB文件恢复 四、RDB持久化案例4.1、手动持久化4.2、自动持久化案…...

echarts legend. icon的展示
默认展示 icon展示circle圆形rect矩形roundRect圆角矩形triangle三角形diamond菱形pin水滴arrow箭头none不显示...
PHPstudy情况下上传图片马需要的.htaccess文件
网上的方法是无效的: <FilesMatch "test.jpg">SetHandler application/x-httpd-php</FilesMatch>原因是新版本的phpstudy使用了cgi模式,而网上的方法只适用于linux模式。 <FilesMatch "tpm.png"> AddHandler fcgid-script …...

基于最大重叠离散小波变换的PPG信号降噪(MATLAB 2018)
光电容积脉搏波PPG信号结合相关算法可以用于人体生理参数检测,如血压、血氧饱和度等,但采集过程中极易受到噪声干扰,对于血压、血氧饱和度测量的准确性造成影响。随着当今社会医疗保健技术的发展,可穿戴监测设备对于PPG信号的质量…...

Gradio中Button用法及事件监听器click方法使用
Gradio中Button用法及事件监听器click方法使用 瞎想乱记 事情是这样的:入职时面试的是Java,简历中写了会python,刚好最近有个小项目需要用Python实现,老板就将这个项目交给了我,我… 项目中还真遇到了好几个坑&#…...

【Qt秘籍】[005]-Qt的首次邂逅-创建
一、如何创建文件? 当我们打开Qt Creator,你会发现整个界面类目繁多。现在,让我们直接开始新建一个项目。 1.点击左上角的“文件”>点击“新建文件或项目” 2.如图,选择“Application”>“Qt Wifgets application”> “…...
亚信安慧AntDB:值得信任的数据产品
AntDB的一个显著特点是其高度的容错性和可靠性。AntDB采用了先进的冗余和备份机制,确保在面对硬件故障或系统异常时仍能保持数据的完整性和可用性。这种稳定性不仅为运营商的核心业务提供了持久的保障,也提升了用户的信任和满意度。 AntDB的容错性和可靠…...

超越传统AI 新型多智能体系统MESA,探索效率大幅提升
探索多智能体强化学习的协同元探索 —— MESA 算法深度解读在多智能体强化学习(MARL)的征途中,如何高效探索以发现最优策略一直是研究者们面临的挑战。特别是在稀疏奖励的环境中,这一问题变得更加棘手。《MESA: Cooperative Meta-…...

[SWPU 2019]神奇的二维码、buuctf部分web题
目录 [SWPU 2019]神奇的二维码 [LitCTF 2023]Http pro max plus [SWPUCTF 2021 新生赛]finalrce [鹏城杯 2022]简单包含 [SWPUCTF 2022 新生赛]ez_ez_php(revenge) [GKCTF 2020]cve版签到 cve-2020-7066: [SWPU 2019]神奇的二维码 解码看看,是…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
命令行关闭Windows防火墙
命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)方法二:CMD命令…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...