千家信息网

python练习题有哪些

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章主要介绍"python练习题有哪些",在日常操作中,相信很多人在python练习题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python练习题有哪些"
千家信息网最后更新 2024年09月21日python练习题有哪些

这篇文章主要介绍"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.给出一个纯数字列表.请对列表进行排序(升级题)…

思路:

  1. 完成a和b的数据交换。例如,a=10,b=24交换之后,a=24,b=10循环列表。判断a]和ali+1]之间的大小关系,如果al比ali+1]大.则进行互换。

  2. 循环结束的时候.当前列表中最大的数据就会被移动到最右端.

  3. 想一想,如果再次执行一次上面的操作。最终第二大的数据就移动到了右端.以此类推.如果反复的进行执行相应的操作,那这个列表就变成了一个有序列表!

方法一:冒泡排序法

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练习题有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0