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)

 

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

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

相关文章

python数据分析——逻辑回归

参考资料&#xff1a;活用pandas库 逻辑回归 当响应变量为二值响应变量时&#xff0c;经常使用逻辑回归对数据建模。 # 导入pandas库 import pandas as pd # 导入数据集 acspd.read_csv(r"...\data\acs_ny.csv") # 展示数据列 print(acs.columns) # 展示数据集 pri…

[数据集][图像分类]茶叶叶子病害分类数据集304张4类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;304 分类类别数&#xff1a;4 类别名称:[“anthracnose”,“bird_eye_spot”…

功效系数法

功效系数法&#xff08;Efficacy Coefficient Method&#xff09;是一种综合评价方法&#xff0c;它根据多目标规划的原理&#xff0c;对每个评价指标确定一个满意值和不允许值&#xff0c;以满意值为上限&#xff0c;以不允许值为下限。计算各指标实现满意值的程度&#xff0c…

ant-design vue3 中上传图片组件的回传图片显示问题

最近在做web端的上传图片 有一个数据列表中的编辑功能 是之前上传的图片 点击编辑进入编辑页面 会显示之前写的数据 现在需要把原来上传的图片 显示出来 因为之前给后端上传的 图片格式 是一个数组 ["图片链接"&#xff0c;“图片链接”。。。] 后端给我返回的数据也…

ESP32 ESP8266 Arduino开发环境离线安装

在下面链接中详细介绍了ESP32 ESP8266在线安装方法&#xff0c; 智能红外遥控器&#xff08;二&#xff09;&#xff1a; Arduino环境搭建及库安装_arduino ide 1.8.13-CSDN博客 但是由于在线安装受国外服务器的影响很多时间会不成功&#xff0c;下面介绍使用离线安装包的方法…

AI视频教程下载:给初学者的ChatGPT提示词技巧

你是否厌倦了花费数小时在可以通过强大的语言模型自动化的琐碎任务上&#xff1f;你是否准备好利用 ChatGPT——世界上最先进的语言模型——并将你的生产力提升到下一个水平&#xff1f; ChatGPT 是语言处理领域的游戏规则改变者&#xff0c;它能够理解并响应自然语言&#xf…

JavaWeb基础(JQuery,XML及解析)

这个阶段有点拖沓了&#xff0c;因为事情比较多&#xff0c;耽搁了一段时间&#xff0c;学习的主要内容为JQuery和XML&#xff0c;因为vue的出现&#xff0c;JQuery技术现在已经不流行了&#xff0c;但是不流行不代表我不会&#xff0c;JQuery最最最最核心的就是他的$()核心函数…

十大排序 —— 希尔排序

十大排序 —— 希尔排序 什么是希尔排序插入排序希尔排序递归版本 我们今天来看另一个很有名的排序——希尔排序 什么是希尔排序 希尔排序&#xff08;Shell Sort&#xff09;是插入排序的一种更高效的改进版本&#xff0c;由Donald Shell于1959年提出。它通过比较相距一定间…

路由策略案例

一、路由策略案例 如图所示&#xff0c;某公司内终端通过Switch接入公司内部网络。如果该公司内存在非如图1所示&#xff0c;运行OSPF协议的网络中&#xff0c;RouterA从Internet网络接收路由&#xff0c;并头RouterB提供了部分Internet路由。其中: RouterA仅提供172.1…

工厂模式——工厂方法模式+注册表

工厂方法模式的瑕疵 在前一篇笔记中我们介绍了工厂方法模式&#xff0c;示例的类图如下&#xff1a; 考虑一种情况&#xff1a;现在要在程序运行时&#xff0c;根据外部资源&#xff0c;动态的实例化对象。也就是说在编译期我们无法知道要实例化的对象的类型。因此在实例化的过…

Java 新手入门:基础知识点一览

Java 新手入门&#xff1a;基础知识点一览 想要踏入 Java 的编程世界&#xff1f;别担心&#xff0c;这篇文章将用简单易懂的表格形式&#xff0c;带你快速了解 Java 的基础知识点。 一、Java 是什么&#xff1f; 概念解释Java一种面向对象的编程语言&#xff0c;拥有跨平台、…

JDBC-MySQL

JDBC-MySQL 1.JDBC 操作步骤1.1 DriverManager1.2.Connection对象1.3 Statement1.4 PreparedStatement 1.JDBC 操作步骤 public void quickStart() throws ClassNotFoundException, SQLException {//1、注册驱动 &#xff08;确认要使用哪个数据库&#xff09;Class.forName(&…

短视频直播教学课程小程序的作用是什么

只要短视频/直播做的好&#xff0c;营收通常都不在话下&#xff0c;近些年&#xff0c;线上自媒体行业热度非常高&#xff0c;每条细分赛道都有着博主/账号&#xff0c;其各种优势条件下也吸引着其他普通人冲入。 然无论老玩家还是新玩家&#xff0c;面对平台不断变化的规则和…

《2024年DDoS趋势报告》:DDoS攻击规模飙升233.33%

2023年&#xff0c;数字领域面临着分布式拒绝服务&#xff08;DDoS&#xff09;攻击的变革浪潮&#xff0c;攻击速度创纪录地达到了每秒700 Gbps和8000万数据包。这些事件跨越了从游戏到金融服务的各个行业&#xff0c;突显了DDoS是一种普遍存在的风险。 值得注意的是&#xf…

Ubuntu server 24 (Linux) sudo 免输密码

1 sudo 使用要输入密码&#xff0c;费时费力。 2 sudo命令免输密码&#xff0c;需要修改/etc/sudoers文件 #本文以test用户为例,#允许不需要输入密码执行 sudo vi /etc/sudoers test ALL(ALL) NOPASSWD: ALL %sudo ALL(ALL:ALL) ALL --> #%sudo ALL(ALL:ALL) ALL#所有…

掌握 NestJS 10.x:NestJS 结合 PostgreSQL 使用详解

NestJS 是一个用于构建高效、可扩展的 Node.js 服务端应用的框架。结合 PostgreSQL 数据库,可以为应用提供强大的数据存储和查询功能。本文将详细介绍如何在 NestJS 项目中集成和使用 PostgreSQL,并创建一个包含增加用户接口的完整示例。 1. 安装必要的依赖 首先,确保你的…

基于VITA57.4标准的单通道6GSPS 12位采样ADC,单通道 6GSPS 16位采样DAC子卡模块

板卡概述 FMC147是一款单通道6.4GSPS&#xff08;或者配置成2通道3.2GSPS&#xff09;采样率的12位AD采集、单通道6GSPS&#xff08;或配置成2通道3GSPS&#xff09;采样率16位DA输出子卡模块&#xff0c;该板卡为FMC标准&#xff0c;符合VITA57.4规范&#xff0c;该模块可以作…

Day 42 LVS四层负载均衡

一&#xff1a;负载均衡简介 1.集群是什么 ​ 集群&#xff08;cluster&#xff09;技术是一种较新的技术&#xff0c;通过集群技术&#xff0c;可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益&#xff0c;其任务调度则是集群系统中的核心技术 …

量化研究---大qmt实盘实现禄得可转债策略轮动

前面写了一个强大的可转债自定义系统&#xff0c;我们可以利用这个快速对接到大qmt,我提供实时数据支持 量化研究---强大的可转债分析系统上线&#xff0c;提供api&#xff0c;实时数据支持 打开网页 http://120.78.132.143:8023/ 强大可转债选择系统 http://120.78.132.143:8…

容器中运行ifconfig提示bash: ifconfig: command not found【笔记】

容器中运行ifconfig提示bash: ifconfig: command not found 这个问题是因为在容器中没有安装ifconfig命令。 在容器中安装ifconfig命令&#xff0c;可以使用以下命令&#xff1a; 对于基于Debian/Ubuntu的容器&#xff0c;使用以下命令&#xff1a; apt-get update apt-get …