> 文章列表 > python-课后作业-3

python-课后作业-3

python-课后作业-3

1、编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数(提示:从后往前删)
test01:

import random
a = [random.randint(0,100) for i in range(50)]i = len(a)-1while i>=0:if a[i]%2==1:del a[i]i-=1
print(a)

test02:

import random
x = []
for i in range(50):x.append(random.randint(0,100))
for i in range(49,-1,-1):#range(start, stop[, step])if x[i]%2!=0:del x[i]
print(x)

test03:

import random
listone=[random.randint(0,100) for i in range(50)]
for i in listone[::-1]:if i%2!=0:listone.remove(i)
print(listone)

心得:
1、使用random来生成随机数
2、初始化列表的时候可以使用表达式也可以使用循环
3、列表的append方法和remove方法的使用
4、使用len方法来获取最后一个元素的位置
5、使用切片的逆序
6、使用range来实现逆序
7、删除del的使用


2、编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变(提示:使用切片)
test01:

import random
x=[random.randint(0,100) for i in range(20)]
print(x)y=x[::2]
print(y)y.sort()
print(y)y.reverse()
print(y)x[::2]=y
print(x)print(y)

心得:
1、使用random来生成随机数
2、使用切片来找出偶数下标的列表元素
3、使用sort方法来对找出的列表先升序排序
4、使用reverse方法对其进行反转(降序)
5、将这部分赋值给原列表对应位置
6、输出原列表即可


3、编写程序,至少使用两种不同的方法计算100以内所有奇数的和
test01:

x=[]
for i in range(1,100):if i%2==1:x.append(i)
print(sum(x))
# 2500

test02:

x=[i for i in range(1,100)]
for i in x:if i%2==0:x.remove(i)
print(sum(x))
# 2500

test:

list=[i for i in range(1,100)]
print(sum(list[::2]))
#
listone=[i for i in range(1,101)]
for i in listone:if i%2 == 0:listone.remove(i)
print(sum(listone))
#
listtwo=[]
for i in range(0,101):if i%2 != 0:listtwo.append(i)
print(sum(listtwo))

心得:
1、使用列表的切片操作
2、使用列表的append方法
3、使用列表的remove方法


4、编写程序,输出所有由1、2、3、4这四个数字组成的素数,并且在每个素数中每个数字只使用一次
test01:

data = set()
for n in range(1234,4321,1):if n % 2 ==0:continuefor i in range(3,int(n  0.5) + 1,2):if n % i == 0:breakelse:data.add(n)for num in data:# num 会遍历data中的元素bit = str(num)# bit 是 num转换为字符串形式temp = set(bit)# temp 是 bit字符串转换为集合if ('1' in temp) and ('2' in temp) and ('3' in temp) and ('4' in temp):print(num)
2143
4231
2341
1423