Python | 刷题日记

news2025/3/19 1:16:01

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+=1
    else:
        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]
    #列表追加元素是append
    
    n+=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+1
    if 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"] = 29

if int(month)>1:
    for i in range(1,int(month)):
            sum+=da[str(i)]
            sum+=day
else:
        sum+=day
print(sum)

 

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

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

相关文章

(十五)统计学基础练习题九(选择题T401-450)

本文整理了统计学基础知识相关的练习题&#xff0c;共50道&#xff0c;适用于想巩固统计学基础或备考的同学。来源&#xff1a;如荷学数据科学题库&#xff08;技术专项-统计学三&#xff09;。序号之前的题请看往期文章。 401&#xff09; 402&#xff09; 403&#xff09; 4…

算法-随机快排及荷兰国旗优化

文章目录 算法介绍 :1. 随机快排解析2. 荷兰国旗问题3. 随机快排优化4. 总结随机快排 算法介绍 : 随机快速排序和传统的快速排序的逻辑本质是一致的,都是找到一个值作为划分的中间位置,左边数值均小于该数值,右边数值均大于该数值,但是与传统的快排又不一致的是,我们的这个位置…

15 - 有趣的电影(高频 SQL 50 题基础版)

15 - 有趣的电影 select* from cinema wheredescription!boring and id%2!0 order by rating desc;

黑龙江等保测评有哪些内容?

与等保1.0相比&#xff0c;新的等保2.0版本有了很大的变化&#xff0c;评估的内容、评估的标准也有了很大的差异。那么新版的《等保2.0》实施后&#xff0c;我们要测试什么&#xff1f; 等保测评首先是有十个大项&#xff0c;安全物理环境&#xff0c;安全区域边界&#xff0c;…

标准发布 | 反渗透和纳滤水处理膜修复再利用技术指南

一、编制单位 本文件由浙江大学、中华环保联合会水环境治理专业委员会提出。 本文件由中华环保联合会归口。 本文件主编单位&#xff1a;浙江大学、河南一膜环保技术有限公司、安徽精高水处理有限公司、国能龙源环保有限公司、湖南沁森高科新材料有限公司。 本文件参编单位&…

getway整合sentinel流控降级

3. 启动sentinel控制台增加流控规则&#xff1a; 根据API分组进行流控&#xff1a; 1.设置API分组&#xff1a; 2.根据API分组进行流控&#xff1a; 自定义统一异常处理&#xff1a; nginx负载配置&#xff1a;

Redis位图

简介 在我们平时开发过程中&#xff0c;会有一些bool型数据需要存取&#xff0c;比如用户一年的签到记录&#xff0c;签了是1&#xff0c;没签是0&#xff0c;要记录365天。如果使用普通的key/value&#xff0c;每个用户要记录365个&#xff0c;当用户上亿的时候&#xff0c;需…

湖南(选址调研)源点咨询 商铺开业前选址调研重要性与流程解析

湖南长沙&#xff08;市场定位&#xff09;源点市场调研认为&#xff0c;选址前首要的准备工作就是对店铺地址进行周密的调查&#xff0c;列出一份详尽的选址调查报告&#xff0c;从而逐一分析店铺的选址的利与弊&#xff0c;最后确定该地址是否适合店铺的运营。源点调研通过多…

电商API商品数据采集接口||助力电商企业采集商品大数据提高开发效率

提高开发效率&#xff1a;电商API接口允许不同的应用程序之间高效地进行交互&#xff0c;节省了大量的人力物力成本&#xff0c;使得开发者可以将更多时间和精力集中于自身的核心业务。 增加数据安全性&#xff1a;通过对数据进行安全加密&#xff0c;API接口实现了对数据的保护…

硬件26、EDA绘制板框

1、放置-板框-矩形 2、在pcb上绘制出需要大小的板框 3、设置板框四个角为圆弧状&#xff0c;在右侧属性栏设置圆角半径

系统工程与信息系统基础

三、企业信息化 目的&#xff1a;提高企业的竞争力 信息化需求&#xff1a; 战略需求&#xff1a;提升组织的竞争能力 运作需求&#xff1a;实现信息化战略目标、运作策略、人才培养的需要 技术需求&#xff1a;信息技术层面上对系统的完善、升级、集成 企业信息化方法&…

ArcGIS for Vue3

二维&#xff1a; 1、创建vue项目 npm create vitelatest 2、安装ArcGIS JS API依赖包 npm install arcgis/core 3、引入ArcGIS API for JavaScript模块 <script setup> import "arcgis/core/assets/esri/themes/light/main.css"; import Map from arcgis…

功效系数法

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

Gorm中time.time的默认时区

问题复现 期望查询结果时区使用本机的默认时区&#xff08;东八区&#xff09;&#xff1a; 2024-06-05 04:43:54 0800 CST 实际查询结果&#xff08;UTC&#xff09;&#xff1a; 2024-06-04 20:43:54 0000 UTC 如何解决 问题是通过gorm查询mysql数据库时做了转化&#xff0…

目标检测数据集 - 城市道路行驶车辆检测数据集下载「包含VOC、COCO、YOLO三种格式」

​​​数据集介绍&#xff1a;城市道路行驶车辆检测数据集&#xff0c;真实监控场景高质量图片数据&#xff0c;涉及场景丰富&#xff0c;比如城市道路快速行驶车辆、城市道路慢速行驶车辆、城市道路密集行驶车辆、城市道路夜间低光行驶车辆数据等。数据集标注标签划分为 "…

信息可溯、安全可控 | SW-LIMS 采测分离监测模式解析

数据的准确性在环境监测过程中至关重要,为了确保环监数据的真实有效,并满足“全程留痕、全程监控、信息可溯、安全可控”的要求,采测分离监测模式是一个有效的解决方案。 这种模式通过将样品采集和样品检测交由不同的单位完成,形成了相互独立、相互监督的工作机制,有助于减少潜…

七.传输层协议——再谈UDP协议

一.传输层协议地位 在上一节中&#xff0c;我们提到到了HTTP,HTTPS等应用层协议&#xff0c;现在我们就要进一步向下挖掘&#xff0c;来到我们的传输层协议 假如说应用层负责传递的是数据的内容&#xff0c;专注于为⽤户提供应⽤功能&#xff1b;那传输层协议负责的就是传输的…

EXCEL从图片链接获取图片

step1: 选中图片地址列 step2:开发工具→Visual Basic 文件→导入 导入我制作的脚本&#xff08;代码见文章末尾&#xff09; 点击excel的小图标回到表格界面。 点击【宏】 选中刚才导入的脚本&#xff0c;点执行&#xff0c;等待完成。 代码本体&#xff1a; Sub InsertPict…

最大堆,最小堆,优先队列,堆排序 LC例题-找第K大元素

LC215 数组中的第K个最大元素 class Solution {static Comparator<Integer> cmp new Comparator<Integer>(){Overridepublic int compare(Integer i1, Integer i2){return i1 - i2;//升序排列// return i2 - i1&#xff1b;//降序}}; public static int findKthL…

Linux中,ll 命令 列出目录的内容

文章目录 1、2、3、4、5、 1、 在Linux中&#xff0c;ll 通常是一个别名&#xff08;alias&#xff09;用于 ls -l 命令。ls 命令用于列出目录的内容&#xff0c;而 -l 选项会以长格式&#xff08;long format&#xff09;显示信息&#xff0c;包括文件或目录的权限、所有者、…