python基础题练习

1.可否定义一个sum函数呢?返回指定区间的值的和?例如,区间[1,4]的和为1+2+3+4=10返回指定区间值的平方的和呢?立方呢?

代码:

# 计算从start到end(包括end)的所有整数的和。
def sum_range(start, end):
    total = 0
    for i in range(start, end + 1):
        total += i
    return total
# 计算从start到end(包括end)的所有整数的平方和。
def sum_of_squares(start, end):
    total = 0
    for i in range(start, end + 1):
        total += i ** 2
    return total
# 计算从start到end(包括end)的所有整数的立方和。
def sum_of_cubes(start, end):
    total = 0
    for i in range(start, end + 1):
        total += i ** 3
    return total
# 计算区间[1, 4]的和
print("Sum of range [1, 4]:", sum_range(1, 4))  
# 计算区间[1, 4]的平方和
print("Sum of squares of range [1, 4]:", sum_of_squares(1, 4))  
# 计算区间[1, 4]的立方和
print("Sum of cubes of range [1, 4]:", sum_of_cubes(1, 4))

运行结果:

Sum of range [1, 4]: 10
Sum of squares of range [1, 4]: 30
Sum of cubes of range [1, 4]: 100

2.定义一个gcd函数,计算两个数的最大公因数

代码:

def gcd(a,b):
    while b:
        a,b=b,a%b
    return a
print(gcd(28,12))

运行结果:

4

3.求出1-100之间的奇数之和

代码:

sumjs=0
for i in range(1,101):
    if(i%2!=0):
        sumjs+=i
print(sumjs)

运行结果:

2500

4.定义一个int类型变量接收一个大于100的三位数,求出100到该数字之间满足如下要求的数字之和:

1.数字的个位数不为7;
2.数字的十位数不为5;
3.数字的百位数不为3;
代码:

a=int(input("输入一个大于100的整数:"))
sum1=0
for i in range(100,a+1) :
    if(i%10!=7 and i//10%10!=5 and i//100!=3):
        sum1+=i
print(sum1)

运行结果:

输入一个大于100的整数:243
20900

5.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

代码:

def rabbit(n):
    if n==1 or n==2:
        return 1
    a,b=1,1
    for i in range(3,n+1):
        a,b=b,a+b
    return b
for mon in range(1,13):
    print(f"第{mon}月的兔子总数为:{rabbit(mon)*2}")

运行结果:

1月的兔子总数为:22月的兔子总数为:23月的兔子总数为:44月的兔子总数为:65月的兔子总数为:106月的兔子总数为:167月的兔子总数为:268月的兔子总数为:429月的兔子总数为:6810月的兔子总数为:11011月的兔子总数为:17812月的兔子总数为:288

6.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

代码:

for i in range(100,1000):
    if i==(i%10)**3+(i//10%10)**3+(i//100)**3:
        print(i)

运行结果:
153
370
371
407

7.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

代码:

zm,kg,sz,others=0,0,0,0
str = input("请输入一行字符串:")
for char in str:
    if char.isalpha():
        zm += 1
    elif char.isspace():
        kg += 1
    elif char.isdigit():
        sz += 1
    else:
        others += 1
print("英文字母个数:", zm)
print("空格个数:", kg)
print("数字个数:", sz)
print("其它字符个数:", others)

运行结果:

请输入一行字符串:sekhhfk 4536!2#$%&^Gjhg^&
英文字母个数: 11
空格个数: 1
数字个数: 5
其它字符个数: 8

8.输出9*9口诀。

代码:

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j}",end='\t')
    print()

运行结果:

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

9.给定一个列表,统计列表中每个元素出现的次数。

代码:

from collections import Counter
fruits = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']
counter = Counter(fruits)
print(counter)

运行结果:

Counter({'apple': 3, 'banana': 2, 'orange': 1})

10.从列表 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 中提取所有的偶数,形成一个新列表。

代码:

list=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list2=[i for i in list if i%2==0 ]
print(list2)

运行结果:

[2, 4, 6, 8, 10]

11.反转列表 [10, 20, 30, 40, 50]。

代码:

list=[10, 20, 30, 40, 50]
list2=list[::-1]
print(list2)

运行结果:

[50, 40, 30, 20, 10]

12.合并两个元组 tuple1 = (1, 2, 3) 和 tuple2 = (4, 5, 6)。

代码:
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
tuple3=tuple1+tuple2
print(tuple3)
运行结果:

(1, 2, 3, 4, 5, 6)

13.编写一个 Python 程序,查找元组中的最大和最小值。

代码:

nums = (7, 2, 9, 4, 5)
print(max(nums))

运行结果:

9

14.创建一个字典,键为 1 到 5,值为它们的平方。

代码:

dic={i:i**2 for i in range(1,6)}
print(dic)

运行结果:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

15.写一个 Python 程序,按值对字典进行排序。

代码:

my_dict = {'apple': 2, 'banana': 4, 'cherry': 1}
sort_dict=dict(sorted(my_dict.items(),key=lambda item: item[1]))
print(sort_dict)

运行结果:

{'cherry': 1, 'apple': 2, 'banana': 4}

16.将字典的所有键和值交换,生成一个新字典。

代码:

my_dict = {'a': 1, 'b': 2, 'c': 3}
dict2={value:key for key,value in my_dict.items()}
print(dict2)

运行结果:

{1: 'a', 2: 'b', 3: 'c'}

17.写一个程序,统计字符串中的每个字符出现的次数,结果保存在字典中。

代码:

text = 'hello world'
dic={}
for char in text:
    if char in dic:
        dic[char] += 1
    else:
        dic[char] = 1
print(dic)

运行结果:

{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}

18.给定一个学生成绩的字典,查找平均成绩。

代码:

grades = {'Alice': 85, 'Bob': 78, 'Charlie': 92}
n=len(grades)
total=sum(grades.values())
print(f"平均成绩为:{total//n}")

运行结果:

平均成绩为:85

19.创建一个字典,存储多个学生的名字和分数,并找出得分最高的学生。

代码:

students = {'Alice': 85, 'Bob': 90, 'Charlie': 88}
highest_score = -1
highest_stu = ""
for student, score in students.items():
    if score > highest_score:
        highest_score = score
        highest_stu = student
print(f"最高分学生名字:{highest_stu} 的最高分数为: {highest_score}.")

运行结果:

最高分学生名字:Bob 的最高分数为: 90.

20.写一个 Python 程序,将两个列表合并为一个字典。

代码:

names = ['Alice', 'Bob', 'Charlie'] 
scores = [85, 90, 88]
dic=dict(zip(names,scores))
print(dic)

运行结果:

{'Alice': 85, 'Bob': 90, 'Charlie': 88}

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

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

相关文章

LabVIEW界面输入值设为默认值

在LabVIEW中,将前面板上所有控件的当前输入值设为默认值,可以通过以下步骤实现: 使用控件属性节点:你可以创建一个属性节点来获取所有控件的引用。 右键点击控件,选择“创建” > “属性节点”。 设置属性节点为“D…

Unity开发绘画板——02.创建项目

1.创建Unity工程 我们创建一个名为 DrawingBoard 的工程,然后先把必要的工程目录都创建一下: 主要包含了一下几个文件夹: Scripts :存放我们的代码文件 Scenes :工程默认会创建的,存放场景文件 Shaders &…

加固与脱壳01 - 环境搭建

虚拟机 VMWare 多平台可用,而且可以直接激活,需要先注册一个账号 https://support.broadcom.com/group/ecx/productdownloads?subfamilyVMwareWorkstationPro KALI 类Ubuntu系统,官方提供了 vmware 版本,直接下载就可以使用。…

关于安卓App自动化测试的一些想法

安卓App自动化一般使用PythonAppium。页面元素通常是使用AndroidStudio中的UI Automator Viewer工具来进行页面元素的追踪。但是这里涉及到一个问题就是,安卓apk在每次打包的时候,会进行页面的混淆以及加固,所以导致每次apk打包之后会出现页面…

[Linux]用户管理指令

开机/重启/登录/注销 进入xhsell 或者虚拟系统中, 右键桌面打开终端, 在终端执行命令, 重启或关机linux系统 建议使用普通账号登录, 如果权限不够时, 使用 su - 用户名 命令切换到超管, 然后再使用 logout命令退回到普通账号, logout 不能在图形界面的终端中使用 用户管理 Li…

网络信息传输安全

目录 机密性-加密 对称加密 非对称加密 身份认证 摘要算法和数据完整性 数字签名 签名验签 数字证书 申请数字证书所需信息 数字证书的生成 数字证书的应用 https协议 数字证书的申请 数据在网络中传输过程中,怎么做到 数据没有被篡改?hash算…

基于PHP的新闻管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于phpMySQL的新闻管理系统。…

[js逆向学习] fastmoss电商网站——店铺排名

逆向目标 网站:https://www.fastmoss.com/shop-marketing/tiktok接口:https://www.fastmoss.com/api/shop/shopList/参数:fm-sign 逆向分析 我们今天要分析的是店铺排名,先分析网络请求,找到目标接口 按照上图操作…

JUC高并发编程2:Lock接口

1 synchronized 1.1 synchronized关键字回顾 synchronized 是 Java 中的一个关键字,用于实现线程间的同步。它提供了一种简单而有效的方式来控制对共享资源的访问,从而避免多个线程同时访问同一资源时可能出现的竞态条件(race condition&am…

.net core8 使用JWT鉴权(附当前源码)

说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强…

LeetcodeTop100 刷题总结(二)

LeetCode 热题 100:https://leetcode.cn/studyplan/top-100-liked/ 文章目录 八、二叉树94. 二叉树的中序遍历(递归与非递归)补充:144. 二叉树的前序遍历(递归与非递归)补充:145. 二叉树的后序遍…

你的提交信息还在拖后腿?看这里,提升代码质量的绝招!

文章目录 前言一、什么是约定式提交?二、创建新仓库三、将代码推送到远程仓库的步骤1.检查当前远程仓库2.添加代码到暂存区3. 进行约定式提交4. 推送代码到远程仓库5. 完成推送 总结 前言 在当今软件开发领域,Git已经成为最广泛使用的版本控制系统之一。…

java算法OJ(1)位运算

目录 1.前言 2.正文 2.1位运算符号 2.1俩数相除 2.1.1题目 2.1.2示例 2.1.3题解 2.2二进制求和 2.2.1题目 2.2.2示例 2.2.3题解 2.3只出现一次的数字 2.3.1题目 2.3.2示例 2.3.3题解 2.4只出现一次的数字(进阶版) 2.4.1题目 2.4.2示例…

【ComfyUI】控制光照节点——ComfyUI-IC-Light-Native

原始代码(非comfyui):https://github.com/lllyasviel/IC-Light comfyui实现1(600星):https://github.com/kijai/ComfyUI-IC-Light comfyui实现2(500星):https://github.c…

cobbler自动批量安装多版本操作系统

本次虚拟化环境为VMware Workstation Pro,cobbler服务端为CentOS7.9,需要自动安装的版本为CentOS7.9和CentOS8.1 目录 一、安装cobbler服务端1、修改YUM源2、关闭防火墙3、安装软件包4、cobbler环境配置5、解决语法问题6、启动服务7、导入镜像8、自定义…

Spring自定义参数解析器

在这篇文章中,我们认识了参数解析器和消息转换器,今天我们来自定义一个参数解析器。 自定义参数解析器 实现HandlerMethodArgumentResolver的类,并注册到Spring容器。 Component//注册到Spring public class UserAr…

统信服务器操作系统【Cron定时任务服务】

Cron定时任务服务服务介绍、服务管理、服务配置 文章目录 一、功能概述二、功能介绍1. Cron 服务管理2.Cron 服务管理3.Cron 服务配置run-parts一、功能概述 cron是一个可以用来根据时间、日期、月份、星期的组合来 调度对周期性任务执行的守护进程。利用 cron 所提供的功能,可…

第十四届蓝桥杯嵌入式国赛

一. 前言 本篇博客主要讲述十四届蓝桥杯嵌入式的国赛题目,包括STM32CubeMx的相关配置以及相关功能实现代码以及我在做题过程中所遇到的一些问题和总结收获。如果有兴趣的伙伴还可以去做做其它届的真题,可去 蓝桥云课 上搜索历届真题即可。 二. 题目概述 …

七种修复错误:由于找不到msvcr110.dll 无法继续执行的方法

当你在运行某些程序时遇到“找不到msvcr110.dll”的错误提示,这通常意味着你的系统缺少了Microsoft Visual C 2012 Redistributable包中的一个重要文件。这个DLL文件是Microsoft Visual C Redistributable的一部分,用于支持许多使用Visual C编写的软件和…

Elasticsearch:检索增强生成背后的重要思想

作者:来自 Elastic Jessica L. Moszkowicz 星期天晚上 10 点,我九年级的女儿哭着冲进我的房间。她说她对代数一无所知,注定要失败。我进入超级妈妈模式,却发现我一点高中数学知识都不记得了。于是,我做了任何一位超级妈…