1: 分别使用 if 和 while 语句删除将列表 x = [1,2,1,2,1,1,1]中的元素“1” 全部删除。
x = [1, 2, 1, 2, 1, 1, 1]
y = x[:]
for ins in y:
if ins == 1:
x.remove(1)
print(x)
笔记:http://t.csdn.cn/M45tR 详解[:]和[::]
x = [1, 2, 1, 2, 1, 1, 1]
fre = x.count(1)
for i in range(fre):
x.remove(1)
print(x)
笔记:count()方法返回列表中某个元素的出现次数。
简单来说,count()方法计算一个元素在列表中出现的次数并返回它。
count()方法的语法为:list.count(element)
x = [1, 2, 1, 2, 1, 1, 1]
while 1 in x:
x.remove(1)
print(x)
y=[s for s in x if s!=1]#列表推导式
2:使用列表实现筛选法求素数。提示:素数判断方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数, 反之是素数
maxNumber = int(input('请输入一个大于 2 的自然数: '))
lst = list(range(2, maxNumber))
# 最大整数的平方根
m = int(maxNumber ** 0.5)
for index, value in enumerate(lst):
# 如果当前数字已大于最大整数的平方根, 结束判断
if value > m:
break
# 对该位置之后的元素进行过滤
lst[index + 1:] = filter(lambda x: x % value != 0, lst[index + 1:])
print(lst)
prinmNumber=[]
x = eval(input('请输入一个大于 2 的自然数: '))
if x>2:
for i in range(2,x):
flag = True
for j in range(2, int(i/2)+1):
if i % j == 0:
flag = False
break
if flag:
prinmNumber.append(i)
print(prinmNumber)
else:
print('数请输入大于2的数字')
3:创建一个空字典
student,
录入学生姓名和成绩
,
并一一对应
,
当所有学生的信息录入完之后,
输入
1
退出。需要注意的是
(
学生成绩范围为 0~150)
超出范围重新输入。
提示:
使用
dict
函数和
zip
函数
name1=input("输入学生姓名:")
grade1=input("输入该学生的成绩:")
if(grade1>150 or grade1<0):
print("请重新输入!")
student=dict(name='name1',grade='grade1')
print(student['name'])
print(student.get('grade'))
print(list(student))
print(list(student.values()))
print(list(student.items()))
for name,grade in student.items():
print("学生姓名:",name,"学生成绩",grade)
print(zip(name,grade))
if(input(1)):
break
student={}
alist=[]
blist=[]
prime=0
while prime==0:
a=input("请输入学生姓名:")
alist.append(a)
b=eval(input("请输入学生个成绩:"))
if b>0 and b<150:
blist.append(b)
else:
print("输入错误,请重新输入")
prime=int(input("是否需要继续?是请输入0,否请输入1"))
student=dict(zip(alist,blist))
print('学生姓名及对应成绩为:',student)
4:自己编写一个长度至少五 5 的字典,其中姓名为键和性别为值;请编写一个程序,删除性别为男的员工信息。
a={'liming':'男','lihua':'女',"asd":"女","wanger":"男","saisai":"男"}
aim = a.copy()
for key in a:
if a[key]=="男":
del aim[key]
aim={}
for key in a:
if a[key]=="女":
aim[key]=a[key]
a={'liming':'男','lihua':'女','zhangsan':'男','lili':'女'}
list1=[]
list2=[]
v=a.values()
k=a.keys()
for i in k:
list1.append(i)
for j in v:
list2.append(j)
for n in list2:
if(n=='男'):
x=list2.index('男')#显示‘男’的下标(因为值与键的下标是一致的)
list2.remove('男')
list1.remove(list1[x])
dic=dict(zip(list1,list2))#形成新的字典
print(dic)
笔记:http://t.csdn.cn/h7KUc 详解values(),litm(),key()函数
5:.使用集合实现筛选法求素数
def sushu(num):
prime = True
for i in range(2,num):
if num%i == 0:
print(str('%d' % num)+'不为素数' )
prime = False
break
if prime is True:
print(str('%d' % num)+'为素数')
aset=set()
alist=[]
n=int(input('请输入集合元素的个数:'))
for i in range(n):
a=int(input('请输入元素:'))
alist.append(a)
aset=set(alist)
alist=list(aset)
print('The Judgement:')
for i in range(len(alist)):
sushu(alist[i])