1.求100(含100)以内所有偶数的和

range(start,end,step)这个序列生成器,和那个切片的语法一样,含头不含尾,step是步长,这里就不需要在对j进行判断了,对于这些简单求奇数和、求偶数和,就n的倍数和等等就可以这样做

s = 0

for j in range(0,101,2):

s = s + j

print(s) # 2550

2.打印99乘法表

用于理解循环的使用

# a=0

# while a<9:

# a+=1

# b=0

# while b

# b+=1

# print(b,'*',a,'=',a*b,sep='',end='\t') #sep是分隔符默认是空格,\t是制表符

# print()

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=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

"""

3.求第n位斐波那契数

这是求第n位斐波那契数,大家可以尝试多种方法做,我这就不做多的演示了,要是求n(包含n)位前所有斐波那契数了,创建一个列表保存一下就好,希望大家可以去做一下,加深对列表方法的使用

# 斐波那契数列:1,1,2,3,5,8,13,21,34,55.....

# 从第三位开始:后一个数等于前面两数相加

n = int(input('请输入你要求第几位斐波那契数:'))

a = 0

b = 1

for i in range(n):

# c = a

# a = b

# b = c + b

# 上里三式可以简写为:

a,b = b,a+b

print(a)

4.百马百担

一匹大马能背3担货,一匹中马能背2担货,两匹小马能背1担货,如果用一百匹马背一百担货,有哪些不同的背法

for i in range(34): # i代表大马的匹数

for j in range(51): # j代表中马的匹数

if i*3+j*2+(100-i-j)/2 == 100:

print(f'大马={i},中马={j},小马={100-i-j}')

# 大马=2,中马=30,小马=68

# 大马=5,中马=25,小马=70

# 大马=8,中马=20,小马=72

# 大马=11,中马=15,小马=74

# 大马=14,中马=10,小马=76

# 大马=17,中马=5,小马=78

# 大马=20,中马=0,小马=80

5.求水仙花数

我这定义了一个函数去求n位数的水仙花数,不过水仙花数就是100-1000内个位十位百位3次方的和等于本身的数,我那只是类推一下,当然也可以不定义函数,直接使用input输入一个n或者直接给定n的值

def get_Narcissistic(n):

for i in range(pow(10,n-1),pow(10,n)):

s = 0

for j in range(n):

s = s+pow(i//10**j%10,n)

if i==s:

print(i)

get_Narcissistic(3)

# 153

# 370

# 371

# 407

6.求n以内的所有质数(素数)和

质数:只能被1和自身整除的数

n = int(input('请输入一个大于或等于2的正整数:'))

# for i in range(2,n+1):

# flag = True # 每次循环开始都会重置为True

# for j in range(2,int(i**0.5)+1):# 只用循环到i的平方根就好减少循环次数

# if i%j == 0:

# flag = False

# break # 只要有一个整除就跳出循环

# if flag: # 只有上面循环完,flag还等于True才会打印i

# print(i)

# 上面程序也可以写成

# 这里就涉及到for...else语句的使用:

# 当for..in循环自然结束时,后面有else就会运行else里的内容,没有就执行下面的内容

# 当循环因为某种原因(如break)提前退出循环,就不会执行else里的内容

for i in range(2,n+1):

for j in range(2,int(i**0.5)+1):# 只用循环到i的平方根就好减少循环次数,提高效率

if i%j == 0:

break # 只要有一个整除就跳出循环

else: # 只有上面循环完,flag还等于True才会打印i

print(i,end='\t')# 显示在一行

# 2 3 57111317192329313741434753596167717379838997

---------------------------------------------------

集合的使用

-集合也是用{}包裹起来的,集合是一个不重复的无序的,所有集合一般用来去重操作的

-注意:空集合使用set()表示,{}表示空字典

persons = {'zhangsan', 'lisi', 'jack', 'lisi', 'jack', 'wangwu', 'maliu'}

print(persons) # {'zhangsan', 'wangwu', 'jack', 'maliu', 'lisi'}

persons.add('李白') # 添加一个元素,但位置不确定,所有你们运行的答案和我的一样但是顺序不一样

print(persons)# {'zhangsan', 'wangwu', 'jack', 'maliu', 'lisi', '李白'}

persons.pop()# 随机删除一个元素,你们运行的答案应该和我的应该不一样

print(persons) # {'wangwu', 'zhangsan', '李白', 'jack', 'maliu'}

persons.remove('李白')# 删除一个指定的元素,没有的话会报错

print(persons) # {'wangwu', 'zhangsan', 'jack', 'maliu'}

# union 将多个集合合并生成一个新的集合

# A.update B 将B拼接到A,B要是一个可迭代对象

# 集合是无序的,所以就不一定是添加在最后

persons.update(('刘能','赵四'))

print(persons)# {'刘能', 'wangwu', 'zhangsan', '赵四', 'jack', 'maliu'}

# persons.clear()#用来清空集合的

python里的集合也是有交集并集差集一说的,当然交集并集差集也是可以用字典的方法来表示的,这里我就不演示了,我感觉直接用符号简单一点,要了解的话也可以查看一下帮助文档

sing = {'王昭君', '貂蝉', '小乔', '大桥', '火舞', '李白', '韩信'}

dance = {'李元芳', '王昭君', '李白', '韩信', '老虎', '鲁班', '后裔'}

print(sing - dance)#A和B的差集 {'大桥', '火舞', '小乔', '貂蝉'}

print(sing & dance)#A和B的交集 {'王昭君', '李白', '韩信'}

print(sing | dance)#A和B的并集 {'李元芳', '王昭君', '后裔', '鲁班', '老虎', '火舞', '貂蝉', '李白', '大桥', '小乔', '韩信'}

print(sing ^ dance)#A和B的差集的并集 #{'李元芳', '鲁班', '小乔', '后裔', '火舞', '貂蝉', '老虎', '大桥'}

---------------------------------------------------

一些公关方法

# +:可以用来拼接,字符串,列表,元组

print('hello' + 'world')# 'helloworld'

print([1, 2, 3] + [4, 5, 6])# [1, 2, 3, 4, 5, 6]

print((1, 2, 3) + (4, 5, 6))# (1, 2, 3, 4, 5, 6)

# -:只能用于集合,求差集

print({1,2,3}-{3})# {1, 2}

# *:可以用于字符串元组列表,不能用于字典和集合

print('hello'*3)# 'hellohellohello'

print([1,2,3]*3)# [1, 2, 3, 1, 2, 3, 1, 2, 3]

print((1,2,3)*3)# (1, 2, 3, 1, 2, 3, 1, 2, 3)

# in:成员运算符

print('a'in 'abc')# True

print(1 in[1,2,3])# True

print(1 in (1,2,3))#True

# in用于字典是用来判断key是否存在的

print('zhangsan'in{'name':'zhangsan','age':18})# False

print('name'in{'name':'zhangsan','age':18})# True

总结

以上就是我收集的一些的python基础练习题,大家可以写一下玩一玩

我是白白,一个喜欢学习喜欢编程的年轻人

python集合例题_python基础练习题、集合的讲解、一些公关方法相关推荐

  1. python集合例题_python 学到集合为止的17道练习题

    print('-------练习1.2-----------') 1.简述变量命名规范. 本题原文:https://blog..net/yirentianran/article/details/795 ...

  2. JAVA集合 ==> JAVA基础练习题 - 集合练习十道题

    1.产生10个1-100的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台. public class Test {public static void ma ...

  3. python数学知识点_python基础知识整理

    序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充 2. 程序: 一组计算机能识别和执行的指令,是实现某种需求的软件. 3. 操作系统: ...

  4. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  5. python列表元祖字典集合运算_Python基础5:列表 元祖 字典 集合 Json

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)--即:可以改变列表的内容. 相关操作: ...

  6. python中的集合类型_Python中的集合类型知识讲解

    >>> s.add('z') >>> s set(['c', 'e', 'h', 'o', 'p', 's', 'z']) >>> s.updat ...

  7. python中集合运算_Python中的集合操作与集合运算

    Python中的集合是一种无序的,无重复值的数据结构类型.Python中的集合可以用来检测元素检测或消除重复的元素. 一.python 集合概述 (1)Python中的集合元素是无序的,即元素没有顺序 ...

  8. python数据分析知识点_Python基础知识点总结:数据

    首先, 什么是Python? 用python作者Guido van Rossum自己的话来说,Python是这样的一门语言: 它是一门高级编程语言, 它的核心设计理念是让所有代码变得更易阅读,并给开发 ...

  9. python语法知识_Python基础语法知识汇总(学习党的最爱!)

    本文章包含了Python一系列基本知识,其中包括:基本数据类型(整数,浮点数,复数,字符串):分支语句:异常处理:函数:局部变量与全局变量:递归:组合数据类型(集合,元组,列表,字典):文件基本操作. ...

最新文章

  1. 首个最全的MongoDB 3.6 全览
  2. 数据中心机房工程建设需要注意的重大问题
  3. 成功解决label_error >= 0 label_error < static_cast<int>(nclass) MultiClassEvaluation: label must be i
  4. 角色与网站地图的结合
  5. JZOJ 5401. 【NOIP2017提高A组模拟10.8】Star Way To Heaven
  6. 使左对角线和右对角线上的元素为0
  7. 微软 rms服务器端,微软RMS服务器部署之准备篇
  8. hashCode 一致性hash 算法
  9. RK3568-ANDROID11-4G-EC20-驱动篇(移远模块)
  10. (附源码)基于springboot平衡膳食小程序 毕业设计 250859
  11. 拖住对手?有赞刚收费,点点客就推同类免费产品
  12. 2022年高压电工最新解析及高压电工考试资料
  13. 任正非解释华为鸿蒙系统,比Android/iOS还要快,看任正非怎么说华为鸿蒙系统
  14. 星宸科技IC2020笔试
  15. 周鸿祎:360 基本不触碰用户数据;苹果与亚马逊被指控合谋推高 iPhone 等产品价格|极客头条
  16. 计算机维修工实操,计算机维修工(三级)操作技能练习题.pdf
  17. 2022年西藏最新八大员之(安全员)模拟试题题库及答案
  18. 网络推广新手必看!如何以数据手法定义文章标题
  19. 地方门户网站的运营我们缺少的是什…
  20. Android 自动化埋点:基于AspectJ的沪江SDK的使用整理

热门文章

  1. 浅析:setsockopt()改善程序的健壮性【转】
  2. 《Java程序员,上班那点事儿》序——刘博
  3. Wizard 开源文档管理系统1.0发布啦
  4. Hibernate5.x Idea搭建
  5. 02-NLP-01-jieba中文处理
  6. 布局文件中fill_parent、match_parent和wrap_content有什么区别?
  7. Linux5下DHCP配置
  8. shell 脚本调试
  9. IE6/7/8/9中Table/Select的innerHTML不能赋值
  10. Tomcat7.0.26的连接数控制bug的问题排查