这篇文章主要介绍“python练习题有哪些”,在日常操作中,相信很多人在python练习题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python练习题有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1. 基础知识点补充
join() 把一个列表转换成字符串;
split() 切割. 把字符串变成列表。
删除问题.
list和dict
list删除在循环的时候不能直接删除的;
dict在循环的时候不要改变大小.;
需要把要删除的内容保存在一个列表中. 循环这个列表删除老列表。
fromkeys(a, b) 把a中的每一个元素获取到和b组装成一个新字典返回。
2. set集合: 不重复, 无序, 内容必须可哈希(不可变)。
3. 深浅拷贝
1. 赋值: 没有创建新对象. 两个变量指向同一个对象;
2. 浅拷贝: 拷贝第一层内容. 创建了新对象 [:] copy();
3. 深拷贝: 拷贝所有和当前对象相关联的内. deepcopy()。
练习题
1.判断一个数是否是水仙花数,水仙花数是一个三位数,三位数的每一位的三次方的和还等于这数.那这个数就是一个水仙花数,例如:153=1*3+5**3+3**3
方法一:
#方法一
while 1:
a = int(input("输入数字"))
if len(str(a)) == 3:
if (a // 100)** 3 + (a % 100 // 10) ** 3 + (a % 10) ** 3 == a :
print("%d是水仙花数"%a)
else:
print("不是水仙花数")
else:
print("请重新输入一个三位数")
continue
方法二
str = input("请输入数字")
s = 0
for c in str:
s += int(c)**3
if s == int(str):
print("是水仙花数")
else:
print("不是水仙花数")
2.完成彩票36选7的功能.从1到36数中随机的产生7个数、最终获取到7个不重复的数据作为最终的开奖结果
随机数:
from random import
randint randint(0,20)#0-20的随机数
#生成无重复的随机数
from random import randint
b = set()
while len(b) < 7:
a = randint(1, 36)
b.add(a)
print(b)
3.给出一个纯数字列表.请对列表进行排序(升级题)…
思路:
完成a和b的数据交换。例如,a=10,b=24交换之后,a=24,b=10循环列表。判断a]和ali+1]之间的大小关系,如果al比ali+1]大.则进行互换。
循环结束的时候.当前列表中最大的数据就会被移动到最右端.
想一想,如果再次执行一次上面的操作。最终第二大的数据就移动到了右端.以此类推.如果反复的进行执行相应的操作,那这个列表就变成了一个有序列表!
方法一:冒泡排序法
ls = [1,2,34,14,43,32,3,2,3,42,424,24,41,4]
count = 0
while count < len(ls):
i = 0
while i < len(ls) -1-count: #优化了,减少不必要的循环
if ls[i] > ls[i+1]:
ls[i],ls[i+1] = ls[i+1],ls[i]
i += 1
count += 1
print(ls)
方法二
s = set()
while 1:
a = input("输入数字")
if a == 'q':
break
else:
s.add(int(a))
lst = list(s)#创建无重复列表
print(lst)
for i in range(len(lst)-1):
for j in range(i+1,len(lst)):
if lst[i] > lst[j]:
lst[i],lst[j] = lst[j],lst[i]
print(lst)
到此,关于“python练习题有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。