python第八天
作业
1、1-8个数,2为排列,不重复的有多少个
sum = 0 for i in range(1,9): for j in range(1,9): if int(i) == int(j): sum = sum else: sum = sum + 1 print(sum)
2、99乘法表
x = "" for i in range(1,10): for j in range(1,i+1): v = i * j x += str(j) + "*" + str(i) + "=" + str(v)+"\t" print(x,end="") x = "" print("")
3、公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,问100文钱买100只鸡,三种鸡都要有,那么各买多少可以凑100文钱
#待优化方案,该方案解释简单,但是对电脑来说运算量大
for x in range(1,100//5): for y in range (1,100//3): for z in range(1,100): if x + y + z == 100 and 5*x + 3*y + z/3 == 100: print(x,y,z)
4、请用代码实现,利用下划线将列表的每一个元素拼接成字符串,li = ["alex","eric","rain"]
如果列表中有数字,那么需要对内容转化为字符串
li = ["alex","eric","rain"] x = li[0] for i in range(1,len(li)): x = x + "_" + li[i] print(x)
第二种
li = ["alex","eric",123]
x = str(li[0])
for i in range(1,len(li)):
x = x + "_" + str(li[i])
print(x)
5、写代码,有如下元组,按照要求实现每一个功能
tu = ("alex","eric","rain")
a、计算元组长度并输出
b、获取元组的第二个元素,输出
c、获取元组的第1-2个元素,并输出
d、请使用for输出元组的元素
e、请使用for、len、range输出元组的索引
f、请使用enumrate输出元组元素和序号
tu = ("alex","eric","rain") print(len(tu)) print(tu[1]) print(tu[0:2]) for i in range(0,len(tu)): print(tu[i]) for i in range(0,len(tu)): print(tu[i],i) for idx,elem in enumerate(tu,10): print(idx,elem)
6、有如下变量,请实现要求的功能
tu = ("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
a、讲述元组的特性
b、请问tu变量中的第一个元素“alex”是否可被修改
c、请问tu变量中的“k2“对应的值是什么类型?是否可被修改?如果可以请在其中添加一个元素”seven“
d、请问tu变量中的“k3”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素”seven“
tu = ("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44]) # a、元组不可修改,具有顺序,可以进行切片 """ tu[0]="asd" print(tu[0]) """ # b、不可以修改 # c、k2对应的值为列表,列表可以修改 v = tu[1][2]["k2"] print(v) tu[1][2]["k2"].append("seven") print(v) x = tu[1][2]["k3"] print(x) # k3对应的是元组,元组不可以被修改
7、有以下列表:
nums = [2,7,11,15,1,8,7]
请找到列表中任意2个元素相加能够等于9的元素集合
nums = [2,7,11,15,1,8,7] a = [] for i in nums: for j in nums: if i + j == 9: a.append((i,j)) print(a)
8、写代码,有如下列表,按照要求实现每一个功能
li = ["alex","eric","rain"]
a、计算列表长度并输出
b、列表中追加元素“seven”,并输出添加后的列表
c、请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
d、请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
e、请删除列表中的元素“eric”,并输出修改后的列表
f、请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
g、请删除列表中的第3个元素,并输出删除元素后的列表
h、请删除列表中的第2至4个元素,并输出删除元素后的列表
i、请将列表所有的元素反转,并输出反转后的列表
j、请使用for、len、range输出列表的索引
k、请使用enumrate输出雷彪的索引
l、请使用for循环输出列表的所有元素
#a li = ["alex","eric","rain"] print(len(li)) #b li.append("seven") print(li) #c li.insert(0,"Tony") print(li) #d li.insert(1,"Kelly") print(li) # e li.remove("eric") print(li) # f v1 = li.pop(1) print(v1) print(li) li.pop(2) print(li)
# h
# del li[2:4]
# print(li)
# i
# li = ["alex","eric","rain"]
# a = []
# b = len(li)
# for i in range(len(li)):
# a.append(li[(b-1)])
# b = b-1
# print(a)
# j
li = ["alex","eric","rain"]
# for i in range(len(li)):
# print(li[i],i)
# k
for i ,j in enumerate(li,100):
print(i,j)
for i in range(len(li)):
print(li[i])
9、分页显示内容
a、通过for循环创建301条数据,数据类型不限,如:
alex-1 alex@live.com pwd1
alex-2 alex@live.com pwd2
b、提示用户,请输入要查看的页码,当用户输入指定页码,则显示指定数据
主要:
每页显示10条数据
用户输入页码是非十进制数字,则显示输入内容格式错误
user_list=[] for i in range(1,302): temp = {"name":"alex"+str(i),"email":"alex"+str(i)+"@live,com","password":"pwd"+str(i)} user_list.append(temp) print(user_list) p = input("请输入页码") p = int(p) star = (p-1)*10 end = p*10 result = user_list[star:end] for item in result: print(item,type(item))