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+=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)

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sql 查询 不满足 (一个教师编号 的角色 (role =‘2‘or(role=‘1‘and role =‘0‘)) )

sql 查询 不满足 &#xff08;一个教师编号 的角色 &#xff08;role 2’or&#xff08;role1’and role ‘0’&#xff09;&#xff09; &#xff09; 准备 一个 teacher 表 和数据 表 teacher 和数据 -- ---------------------------- -- Table structure for teacher -- …

[Algorithm][动态规划][回文串问题][分割回文串 II][最长回文子序列][让字符串成为回文串的最少插入次数]详细讲解

目录 1.分割回文串 II1.题目链接2.算法原理详解3.代码实现 2.最长回文子序列1.题目链接2.算法原理详解3.代码实现 3.让字符串成为回文串的最少插入次数1.题目链接2.算法原理详解3.代码实现 1.分割回文串 II 1.题目链接 分割回文串 II 2.算法原理详解 思路&#xff1a; 确定状…

现代操作系统(第四版)课后习题-4.文件系统

四、文件系统 1.给出文件/etc/passwd的五种不同的路径名 在Unix和类Unix系统中&#xff0c;/etc/passwd 是系统中所有用户账户信息的标准文件。 绝对路径&#xff1a;直接使用文件的绝对路径来访问。 /etc/passwd使用环境变量&#xff1a;如果设置了环境变量指向某个目录&…

Java中的接口与抽象类:区别与联系

Java中的接口与抽象类&#xff1a;区别与联系 在Java中&#xff0c;interface&#xff08;接口&#xff09;和abstract class&#xff08;抽象类&#xff09;是两种重要的抽象类型&#xff0c;用于定义对象的抽象行为和结构。虽然Java 8之后接口引入了默认方法和静态方法&…

磁场定向控制转速环PI调节器参数整定

前言 本章节采用工程设计的方法&#xff0c;推导转速环PI调节器参数的计算公式&#xff0c;由此来设计永磁同步电机磁场定向控制的转速外环PI调节器参数&#xff0c;并通过Matlab/Simulink对设计的PI调节器进行Bode图分析。 一、调节器的工程设计方法 要实现调节器的工程设计…

kube-promethesu新增k8s组件监控(etcd\kube-controller-manage\kube-scheduler)

我们的k8s集群是二进制部署 一、prometheus添加自定义监控与告警&#xff08;etcd&#xff09; 1、步骤及注意事项&#xff08;前提&#xff0c;部署参考部署篇&#xff09; 1.1 一般etcd集群会开启HTTPS认证&#xff0c;因此访问etcd需要对应的证书 1.2 使用证书创建etcd的…

[next.js]pwa缓存

配置Next.js (v14 App Router模式) 使其支持PWA缓存&#xff0c;配置server worker和mainfest.json&#xff0c;让项目支持离线访问和可安装。 安装依赖next-pwa npm i next-pwa配置next.config.js const path require(path);const withPWAInit require(next-pwa);// 判断…

俄罗斯人有哪些常用的口头禅,柯桥零基础俄语培训

Хватит! 够了&#xff01; -Хватит, не стоит больше шуметь! 够了, 不要再吵了! -Это тебя не касается! 这与你无关&#xff01; Блин! 靠&#xff01; Блин这个词绝对是俄罗斯人最爱用的口语表达之一&#xff0c;…

给快高考的儿子的一封信:关于选择计算机专业

亲爱的儿子&#xff0c; 你好&#xff01; 时间过得真快&#xff0c;转眼间你就要高考了&#xff0c;这不仅是你人生中的一个重要时刻&#xff0c;也是我们全家都非常关注的节点。妈妈告诉我&#xff0c;你对计算机专业很感兴趣&#xff0c;希望我能给你一些建议。我很高兴听…

阿里云邮件推送配置教程:有哪些关键步骤?

阿里云邮件推送服务如何配置&#xff1f;如何设置SMTP服务器&#xff1f; 阿里云作为国内领先的云服务提供商&#xff0c;其邮件推送服务具有高效、稳定和可靠的特点&#xff0c;因此备受企业青睐。Aok将介绍阿里云邮件推送配置教程的关键步骤&#xff0c;并简要提及AokSend的…

重要经济数据对行情的影响有多大?

金融市场上的消息非常多&#xff0c;可以来自不同国家、不同大型企业&#xff0c;也可以由不同机构统计公布&#xff0c;甚至是各国政府或中央银行的发表。在宏观经济层面上&#xff0c;所有政经消息都属于金融市场的风险事件&#xff0c;大多能引起市场波动&#xff0c;因此投…

LC 26删除有序数组中的重复项

去重题&#xff0c;双指针&#xff0c;&#xff0c;因为题干说原地删除&#xff0c;且nums其余元素不重要。一个cur记录当前不重复的数应该插在第几位了&#xff0c;for循环里的i相当于是第二个指针&#xff08;右指针&#xff09;&#xff0c;遍历数组来找不重复的元素 class …

2024/6/5(页面静态化,熔断降级,降级处理,ES搜索实例,课程信息同步,认证授权,单点登录,Spring Security,OAuth2,授权模式)

elasticsearch目录下执行docker-compose up -d 完美解决 执行下面这个命令 curl -XDELETE localhost:9200/.kibana_task_manager_7.12.1_001 重启es和kibana服务

【知识】NP及其相关问题的概念

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 NP问题 1. P 类问题 2. NP 类问题 3. NP-Complete 问题 4. NP-Hard 问题 5. NP-Hardness 例子 &#x1f31f; 其他问题 1. co-NP 2. PS…

html写一个table表

HTML代码&#xff1a; <div class"table_box w-full"><div class"title_top">XX表</div><div class"title_btm">(<input class"input input_1" type"text">xxxx)</div><table class…

爬虫之反爬思路与解决手段

阅读时间建议&#xff1a;4分钟 本篇概念比较多&#xff0c;嗯。。 0x01 反爬思路与解决手段 1、服务器反爬虫的原因 因为爬虫的访问次数高&#xff0c;浪费资源&#xff0c;公司资源被批量抓走&#xff0c;丧失竞争力&#xff0c;同时也是法律的灰色地带。 2、服务器反什么…

【成品设计】基于华大hc32F005c6ua的读取NFC卡

《基于华大hc32F005c6ua的读取NFC卡》 整体功能&#xff1a; 单片机:华大hc32F005c6ua 1、支持单片机spi接口读取nfc读卡器芯片rc522读写数据 2、读取到的数据可以通过单片机uart接口通信&#xff0c;上报给上位机&#xff08;485主机&#xff09; 3、uart接口支持modbus协议…

我国液碱产量逐渐增长 行业集中度有望不断提升

我国液碱产量逐渐增长 行业集中度有望不断提升 液碱是由氢氧化钠&#xff08;NaOH&#xff09;、氢氧化钾&#xff08;KOH&#xff09;等化合物以及水组成的一种碱性化合物。液碱的相对分子质量为40.00&#xff0c;密度为1.318g/cm&#xff0c;在常温常压下多表现为一种无色、无…

阿里云邮件推送服务配置教程:怎么做批发?

阿里云邮件推送的API配置步骤&#xff1f;配置教程有哪些步骤&#xff1f; 阿里云邮件推送服务凭借其高并发、稳定性强和安全性高等特点&#xff0c;成为众多企业的首选。Aok将详细介绍如何使用阿里云邮件推送服务进行批发配置&#xff0c;并简要提及AokSend的优势。 阿里云邮…

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…