python字典程序题_Python学习day03 - Python基础练习题(列表、元组、字典)

#!/usr/bin/env python

# -*- coding:utf8 -*-

# 1、有两个列表

# l1 = [11,22,33]

# l2 = [22,33,44]

# a.获取内容相同的元素列表

l1 = [11, 22, 33]

l2 = [22, 33, 44]

for v in l1 :

if v in l2 :

print(v)

# b.获取l1中有,l2中没有的元素列表

print("------------------------------------------")

for v in l1 :

if v not in l2 :

print(v)

# c.获取l2中有,l1中没有的元素列表

print("--------------------------------------------")

for v in l2 :

if v not in l1 :

print(v)

# d.获取l1和l2中内容都不同的元素

# b.c合集

# 2、 用代码实现,利用下划线将列表的每一个元素拼接成字符串,li = ['alex','eric','Witharush']

print("--------------------------------------------")

li = ['alex','eric','Witharush']

s = "_".join(li)

print(s)

# 3、有以下列表:

# nums = [2,7,11,15,1,8,7], 请找到列表中任意两个元素相加能够等于9的元素组合,如, [(0,1),(4,5)]

print("--------------------------------------------")

nums = [2, 7, 11, 15, 1, 8, 7]

n = 0

li = []

for i in range(len(nums)) :

for j in range(len(nums)) :

if nums[i] + nums[j] == 9 :

li.append((i, j))

print(li)

# 4、写代码,有如下列表,按照要求实现每一个功能

# li = ["Witharush","eric","rain"]

# a.计算列表长度并输出

print("--------------------------------------------")

li = ["Witharush", "eric", "rain", "aa", "bb", "cc", "dd"]

print(len(li))

# b.列表中追加元素"seven",并输出添加后的列表

li.append("seven")

print(li)

# c.请在列表的第1个位li请在列表的第一个位置插入元素"Tony",并输出添加后的列表

li.insert(0, "Tony")

print(li)

# d.请修改列表的第2个位置插入元素"Kelly",并输出添加后的列表

li[1] = "Kelly"

print(li)

# e.请删除列表中的元素"eric",并输出修改后的列表

li.remove("eric")

print(li)

# f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表

v = li.pop(1)

print(v, li)

# g.请删除列表中的第3个元素,并输出删除元素后的列表

li.pop(2)

print(li)

# h.请删除列表中的第2至4个元素,并输出删除元素后的列表

l = li[1:3]

for v in l :

li.remove(v)

print(li)

# i.请将列表所有的元素反转,并输出反转后的列表

li.reverse()

print(li)

# j.请使用for,len,range输出列表的索引

for i in range(len(li)) :

print(i)

# k.请使用enumerate是输出列表元素和序号(序号从100开始)

print(list(enumerate(li, 100)))

# l.请使用for循环输出列表的所有元素

for v in li :

print(v)

# 5、写代码,有如下元祖,按照要求实现每一个功能

print("----------------------------------------------")

tu = ("alex", "eric", "Witharush")

# a.计算元祖长度并输出

print(len(tu))

# b.获取元祖的第二个元素,并输出

print(tu[1])

# c.获取元祖的第 1-2 个元素,并输出

print(tu[1:2])

# d.请使用for输出元祖的元素

for v in tu :

print(v)

# e.请使用for,len,range输出元素的索引

for i in range(len(tu)) :

print(i)

# f.请使用enumerate输出元祖元素和序号(序号从10开始)

print(tuple(enumerate(tu, 10)))

# 6、有如下变量,请实现要求的功能

print("--------------------------------------------------")

tu = ("Witharush",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])

# a.讲述元祖的特性

# 答:不可变类型、其他和列表相同

# b.请问tu变量中的第一个元素"Witharush"是否可以被修改?

# 答:不可以

# c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"

# 答:k2对应的是列表类型,可以被修改

tu[1][2]["k2"].append("Seven")

print(tu[1][2]["k2"])

# d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"

# 答:k3对应元组类型,不可修改

# 7、用1,2,3,4,5,6,7,8 ,8个数,能组成多少个互不相同且无重复的两位数?

li = []

for i in range(1, 9) :

j = i

for j in range(1, 9) :

if i != j:

li.append("".join([str(i), str(j)]))

print(li)

print(len(li))

# 8、九九乘法表

for i in range(1, 10) :

s = ""

for j in range(1, i + 1) :

s += str(j) + " * " + str(i) + " = " + str((i * j)) + "\t"

print(s)

# 9、print用法中的“sep” 、"end"

# 答:end:在打印最后放置什么内容默认是\n所以会换行

# sep:连接多个values的连接符 默认是空格

# print("aaa", "ccc", sep="_", end="BBB")

# print("aaa", sep="ccc", end="ddd")

# 10、分页实现内容

# a.通过for循环创建301条数据,数据类型不限,如:

# Witharush-1 Witharush1@live.com pwd1

# Witharush-2 Witharush2@live.com pwd2

# Witharush-3 Witharush3@live.com pwd3

# ...

# 提示用户 请输入要查看的页码,当用户输出指定页码,也显示指定数据

# 注意:

# 每页显示10条数据

# 用户输出页码是非十进制数字,也提示输入内容格式错误

print("--------------------------------------------------")

"""

while True:

user_list = []

for i in range(1,302):

temp = {

"name": "Witharush" + str(i),

"email": "Witharush" + str(i) + "@live.com",

"password": "pwd" + str(i)

}

user_list.append(temp)

pageSize = input("请输入要查看的页码:")

pageSize = int(pageSize)

start = (pageSize - 1) * 10

end = pageSize * 10

result = user_list[start:end]

for item in result:

print(item)

"""

# 11、用python开发程序自动计算方案

# 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其

# 中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100问钱?

for i in range(1, 20) :

for j in range(1, 33) :

for g in range(1, 100) :

if i + j + g == 100 and 5 * i + 3 * j + g /3 == 100 :

print("公鸡:" + str(i), "母鸡:" + str(j), "小鸡:" + str(g))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值