当前位置: 首页 > news >正文

python基础题练习

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

代码:

# 计算从start到end(包括end)的所有整数的和。
def sum_range(start, end):total = 0for i in range(start, end + 1):total += ireturn total
# 计算从start到end(包括end)的所有整数的平方和。
def sum_of_squares(start, end):total = 0for i in range(start, end + 1):total += i ** 2return total
# 计算从start到end(包括end)的所有整数的立方和。
def sum_of_cubes(start, end):total = 0for i in range(start, end + 1):total += i ** 3return 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%breturn 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 1a,b=1,1for i in range(3,n+1):a,b=b,a+breturn 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 += 1elif char.isspace():kg += 1elif char.isdigit():sz += 1else: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] += 1else: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 = scorehighest_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}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Java 问题】基础——Java 概述
  • 如何删除EXCELL文件中的空行?
  • leaflet加载GeoServer的WMS地图服务.md
  • C++学习笔记(34)
  • [Excel VBA]如何使用VBA按行拆分Excel工作表
  • Qwen 2.5:阿里巴巴集团的新一代大型语言模型
  • 【FFmpeg应用场景概述】
  • ZLMediaKit Windows编译以及使用
  • Java设计模式——工厂模式扩展
  • python CRC16校验
  • DSP学习00-F28379D学习准备(了解一个工程的构成)
  • Linux容器化管理——Docker常见命令总结
  • C语言编译四大阶段
  • C++速通LeetCode中等第3题-盛最多水的容器
  • 脱离枯燥的CRUD,灵活使用Mybatis,根据mybatis动态的xml片段和接口规范动态生成代理类,轻松应付简单业务场景。
  • (三)从jvm层面了解线程的启动和停止
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • django开发-定时任务的使用
  • emacs初体验
  • git 常用命令
  • java 多线程基础, 我觉得还是有必要看看的
  • JAVA并发编程--1.基础概念
  • Linux各目录及每个目录的详细介绍
  • php面试题 汇集2
  • PHP那些事儿
  • Redis字符串类型内部编码剖析
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • 从0到1:PostCSS 插件开发最佳实践
  • 解决iview多表头动态更改列元素发生的错误
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 赢得Docker挑战最佳实践
  • 正则表达式小结
  • 正则与JS中的正则
  • 终端用户监控:真实用户监控还是模拟监控?
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • elasticsearch-head插件安装
  • k8s使用glusterfs实现动态持久化存储
  • ‌内网穿透技术‌总结
  • # Java NIO(一)FileChannel
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $.each()与$(selector).each()
  • (0)Nginx 功能特性
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?