python经典例题

news2024/9/21 17:27:13

目录标题

      • 1,计算数字的阶乘
      • 2,区间内的所有素数
      • 3,求前n个数字的平方和
      • 4,移除列表中的多个元素
      • 5,列表去重
      • 6,对简单列表元素排序
      • 7,对复杂列表元素排序
      • 8,读取成绩问卷并排序-读取文件,写入文件
      • 9,统计最高分最低分平均分
      • 10,统计英文文章中单词出现次数--统计次数的代码

1,计算数字的阶乘

def get_jiecheng(number):
    result = number
    while number > 1:
        result *= number - 1
        number -= 1
    return result


print('阶乘6=', get_jiecheng(6))

2,区间内的所有素数

素数:只能整除1和自身
思路:一个函数判断是否素数,再一个循环区间里的数

def is_prime(num):
    if num in (1,2):  #特殊情况记得考虑
    	return True 
    for i in range(2,num):
        if num%i == 0:
           return True
    return False      #return的用法

def print_primes(begin,end):
    for i in range(begin,end+1):
        if is_prime(i) == 0:
            print(i)

begin =3
end = 7
print_primes(3,7)

特殊情况记得考虑
return的用法

3,求前n个数字的平方和

输入n,输出:1平方+2平方+3平方+。。。n平方

c = int(input('请输入:'))

s = 0
for i in range(1,c+1):
    s += i*i
print(s)

输入的数字记得转换为int类型

4,移除列表中的多个元素

remove函数
在这里插入图片描述

def yichu(la,lb):
    for i in la:
        if i in lb:
            la.remove(i)
    return la
la = [3,7,5,9,11]
lb= [7,11]

print(f"from{la}中remove{lb}:",yichu(la,lb))

有一个更简单的

la = [3,7,5,9,11]
lb= [7,11]
data = [i fro i in la if i not in lb]

print(f"from{la}中remove{lb}:",data)

5,列表去重

利用set

lista = [1,3,5,2,3,1]
print('liat(set(lista))')

6,对简单列表元素排序

原列表改变了:

la = [2,4,5,3,7]
la.sort()  #升序
print(la)

原列表不改变:

la = [2,4,5,3,7]
lb = sorted(la) 
print(lb)

降序:加一个reverse=True

la = [2,4,5,3,7]
la.sort(reverse=True)  #降序
print(la)
la = [2,4,5,3,7]
lb = sorted(reverse=True) #降序
print(lb)

7,对复杂列表元素排序

对学生成绩排序。
依旧sort函数,加一个key参数
sort(要排序的东西,key=排序列,reverse=True)#降序

students = [
	{'id':1,'name':'小a','grade':88},
	{'id':2,'name':'小b','grade':98},
	{'id':3,'name':'小c','grade':78}
]
students_sort = sorted(students,key=lambda x:x['grade'])
print(students)
print(students_sort)

8,读取成绩问卷并排序-读取文件,写入文件

在这里插入图片描述
student.txt文件中输入:
1,小张,88
2,小王,78
3,小米,98
4,小红,85

def read_file():
	result = []  #用来记录
	with open('./student.txt') as fin:
		for line in fin:
			line = line[:-1]#去掉最后的换行符
			result.append(line.split(','))
	return result
#此时,result中[['1','小张','88'],['2','小王','78'],...]
#都是字符串形式
def sort_grades(datas):
	return sorted(datas,key=lambda x:int(x[2]),reverse=True)

def write_file(datas):
	with open('./student1.txt','w') as font:
		for data in datas:
			font.write(','.join(data)+'\n')
#读取文件
datas = read_file()
print('读取:',datas)
#排序数据
datas = sort_grades(datas)
print('排序后:',datas)
#写出文件
write_file(datas)

9,统计最高分最低分平均分

求平均值:avg_score = round(sum(scores)/len(scores),2)

def compute_score(): 
	scores = []
	with open('./student.txt') as fin:
		for line in fin:
			line = line[:-1] #去掉换行符
			fields = line.split(',')
			scores.append(int(fields[-1]))  #只读取成绩
	max_score = max(scores)
	min_score = min(scores)
	avg_score = round(sum(scores)/len(scores),2)
	return max_score,min_score,avg_score
	
max_score,min_score,avg_score = compute_score()
print(f'max={max_score},min={min_score},avg={avg_score}')

10,统计英文文章中单词出现次数–统计次数的代码

用字典来进行统计
英语文章放在txt文件中

word_count = {}
with open('./wenzhang.txt') as fin:
	for line in fin:
		line = line[:-1]
		words = line.split()#按空格分列,得到单词列表
		for word in words:
			if word not in word_count:
				word_count[word] =0
			word_count[word]+=1
print(word_count) #即得到每个单词出现的次数
d = sort(word_count.items(),key=lambda x:x[-1],reverse=True) #排序
print(d[:10]) #输出词频最多的前10个单词

字典.items()函数,会返回一个list,其中会包含字典的values和key。格式如下:
在这里插入图片描述

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

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

相关文章

在MySQL5基础上安装MySQL8解压版安装服务指向MySQL5的问题

Windows10在MySQL5解压版基础上安装MySQL8解压版后服务启动失败 1. 遇到的问题: MySQL8目录下没有生成data文件夹启动服务失败,右键服务属性,可执行文件的路径竟然是MySQL目录下的日志文件在MySQL5目录下,日志内容会提示读取了M…

【C语言】动态内存实现通讯录(malloc,calloc,realloc)

目录 一、为什么要存在动态内存开辟 二、动态内存函数 2.1 malloc 2.1.1 函数介绍 2.1.2 函数的使用 2.1.3 free 2.2 calloc 2.2.1 函数介绍 2.2.2 函数的使用 2.3 realloc 2.3.1 函数的介绍 2.3.2 函数的使用 三、改进通讯录 3.1 初始化 3.2 增加信息 3.3 排序&am…

R语言贝叶斯方法在生态环境领域中的高阶技术应用

贝叶斯统计已经被广泛应用到物理学、生态学、心理学、计算机、哲学等各个学术领域,其火爆程度已经跨越了学术圈,如促使其自成统计江湖一派的贝叶斯定理在热播美剧《The Big Bang Theory》中都要秀一把。贝叶斯统计学即贝叶斯学派是一门基本思想与传统基于…

从正则表达式到NFA

一、正则表达式到NFA的基本结构 1. 我们先回顾一下 RE 的三个基本操作: 可选(alternative):对于给定的两个正则表达式 M 和 N,选择操作符( | )形成一个新的正则表达式 M|N ,如果一…

28.Isaac教程--使用Sight的远程操纵杆

使用Sight的远程操纵杆 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录使用Sight的远程操纵杆设置 Isaac 应用程序以使用虚拟游戏手柄小部件关于虚拟游戏手柄小部件使用虚拟游戏手柄小部件运作模式手柄模式鼠标模式键盘模式控制机器人运…

设计模式_行为型模式 -《责任链模式》

设计模式_行为型模式 -《责任链模式》 笔记整理自 黑马程序员Java设计模式详解, 23种Java设计模式(图解框架源码分析实战) 概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象…

windows最小化安装mysql8

第一步:下载 从官网下载,https://dev.mysql.com/downloads/mysql 第二步:安装 下载后解压到目录即可。 我这里解压到D:\MYSQL\mysql-8.0.32-winx64\mysql-8.0.32-winx64 第三步:初始化配置 1、添加系统变量 在系统变量PATH后…

【C++】从0到1入门C++编程学习笔记 - 基础入门篇:数组

文章目录一、概述二、一维数组2.1 一维数组定义方式2.2 一维数组数组名2.3 C 实现冒泡排序三、二维数组3.1 二维数组定义方式3.2 二维数组数组名3.3 二维数组应用案例一、概述 所谓数组,就是一个集合,里面存放了相同类型的数据元素 特点1:数…

(15)go-micro微服务main.go开发

文章目录一 导包二 配置中心三 注册中心四 zap日志初始化五 初始化Mysql数据库六 初始化Redis连接七 注册服务八 初始化服务九 注册 handle十 启动服务十一 main.go全部代码十二 最后一 导包 import (micro2 "account/common/micro""account/config/logger&quo…

day17|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1 示例 2&#xff1…

Redis持久化——AOF机制详解

在运行情况下,Redis 以数据结构的形式将数据维持在内存中,为了让这些数据在 Redis 重启之后仍然可用,需要将数据写入持久存储 持久化是指将数据写入持久存储,例如固态磁盘(SSD) Redis 提供了一系列持久化选项。这些包括&#xff1…

[GYCTF2020]Blacklist(堆叠注入)

目录 信息收集 堆叠注入 payload 总结 信息收集 观察url变化是get请求的SQL注入题目 判断注入类型 1和1"回显一样 1回显报错 1 or 11# array(2) {[0]>string(1) "1"[1]>string(7) "hahahah" }array(2) {[0]>string(1) "2"[…

【C语言进阶】最常用的库函数大全——从入门到精通

目录 一.字符串函数 1.strlen——求字符串长度 2.长度不受限制的字符串函数 a.strcpy——字符串拷贝 b.strcat——追加字符串 c.strcmp——字符串比较 3.长度受限制的字符串函数——strncpy,strncat,strncmp 4.字符串查找 a.strstr——判断是否为子字符串 b.strtok—…

Java网络编程(2)

关于网络编程上一章内容,可以参考: https://blog.csdn.net/Raine_Yang/article/details/128697335?spm1001.2014.3001.5501 使用服务器处理多个客户端 一般来说,同一服务器要持续运行处理多个客户端的请求。我们可以为每一个客户端请求分配…

@Scope 用法

参考:Scope注解 详细讲解及示例 官方文档 When used as a type-level annotation in conjunction with Component, Scope indicates the name of a scope to use for instances of the annotated type. When used as a method-level annotation in conjunction w…

【NI Multisim 14.0虚拟仪器设计——放置虚拟仪器仪表(示波器)】

目录 序言 🍍放置虚拟仪器仪表 🍉示波器 🍊🍊1.“时基”选项组 (1)标度 (2)X轴位移 (3)显示方式选择 🍊🍊2.“通道”选项组 …

函数指针与回调函数详解

目录1.函数指针2.函数指针数组3.指向函数指针数组的指针4.回调函数1.函数指针 前面我们学的: 整形指针是指向整形的指针字符指针是指向字符的指针数组指针是指向数组的指针 所以函数指针就是指向函数的指针 假如有一个int类型变量a,要取它的地址就是…

【Linux】Linux软件包管理器与Linux编辑器

文章目录🎪 Linux软件包管理器🚀 1.yum基本介绍🚀 2.yum基本命令🚀 3.关于rzsz工具的安装与使用⭐3.1 rzsz工具介绍⭐3.2 rzsz工具安装⭐3.3 rzsz工具使用🎪 Linux编辑器🚀 1.vim常用三种模式🚀…

事务管理-spring

什么是事务 - 事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。 • 事务的特性(ACID) - 原子性(Atomicity):事务是应用中不可再分的最小执行体。 - 一致…

MySQL使用索引的最佳指南

MySQL使用索引的最佳指南1.选择合适的字段创建索引2.尽可能的考虑建立联合索引而不是单列索引3.注意避免冗余索引4.考虑在字符串类型的字段上使用前缀索引代替普通索引5.索引失效的情况1.选择合适的字段创建索引 不为 NULL 的字段 :索引字段的数据应该尽量不为 NUL…