Python开发第一篇基础题目二

Posted Tanglaoer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发第一篇基础题目二相关的知识,希望对你有一定的参考价值。

1 列表题

l1 = [11, 22, 33]
l2 = [22, 33, 44]
# a. 获取l1 中有,l2中没有的元素
for i in l1:
    if i not in l2:
        print(i)  # 11
# b. 获取l2 中有,l1中没有的元素列表
for i in l2:
    if i not in l1:
        print(i)  # 44
# c. 获取l1  和 l2 中内容相同的元素
for i in l1:
    if i in l2:
        print(i, end=" ")  # 22 33

# d. 获取l1  和 l2中都互相没有的元素
for i in l2:
    if i not in l1:
        print(i, end=" ")  # 44
for i in l1:
    if i not in l2:
        print(i, end=" ")  # 11

2.有 1,2,3,4,5,6,7,8, 8位数字,输出两位元素互不相同的个数

count = 0
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = [1, 2, 3, 4, 5, 6, 7, 8]
for i in a:
    for j in b:
        if i != j:
            count += 1
print(count)  # 56

# 2_1.有 1,2,3,4,5,6,7,8,  8位数字,输出两位元素互不相同且数字不重复出现的个数
count = 0
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = [1, 2, 3, 4, 5, 6, 7, 8]
for i in range(1, len(a) + 1):
    for j in range(i + 1, len(b) + 1):
        count += 1
print(count)  # 28

3. 九九乘法表 正三角

for i in range(1,10):
    for j in range(1,10):
        if  i>= j:
            print("%s * %s = %s"%(j,i,i*j),end=	)
    print()

4 九九乘法表 倒三角

for i in range(1,10):
    for j in range(1,10):
        if j >= i:
            print("%s * %s = %s"%(i,j,j*i),end="	")
        else:
            print("%s"%" "*12,end="")
    print()

5 用Python开发程序自动计算方案

# 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡,小鸡要买多少只刚好凑够100文钱?
for i in range(1, 100 // 5):
    for j in range(1, 100 // 3):
        for z in range(1, 100):
            if i + j + z == 100 and 5*i + 3*j + z/3.0 == 100:
                print(i,j,z)
                """
                4 18 78
                8 11 81
                12 4 84 
                """

6 用下划线将列表的每一个元素拼接为字符串 [‘tang‘,‘lao‘,‘er‘]

# 注意: 此方法只适用于元素都是str类型
li = [tang,lao,er]
v = "_".join(li)
print(v) # tang_lao_er

# 6_1 里面有数字的列表拼接为字符串
li = [tang,lao,er,123]
v = "_".join("%s" %i for i in li)
print(v) # tang_lao_er_123

# 6_2 里面有多种数据类型的拼接为字符串
li = [tang,lao,er,[11,22],True]
v = "_".join("%s" %i for i in li)
print(v) # tang_lao_er_[11, 22]_True

7 有一元组(‘tang‘,‘lao‘,‘er‘) 写代码,实现以下功能

tu = (tang,lao,er,)
# a. 计算长度
print(len(tu))
# b. 获取元组的第2-3个元组,并输出
print(tu[1:3]) # (‘lao‘, ‘er‘)
    # 注意: 切片索引超出分界大小 不会报错
print(tu[1:10]) # (‘lao‘, ‘er‘)
print(tu[10:]) # ()

# c. 请使用for输出元组的元素
for i in tu:
    print(i,end=" ") # tang lao er
print()
# d. 请使用for、 len 、range输出元组的索引
for i in range(len(tu)):
    print(i,end=" ") # 0 1 2
print()

# f. 请使用enumrate输出元组元素和序号(序号从10开始)
for key, value in enumerate(tu,10):
    print((key,value),end=" ") # (10, ‘tang‘) (11, ‘lao‘) (12, ‘er‘)

8. 有如下变量,请实现要求的功能

tu = ("tang",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
# a.元组的特性
#元组不可变类型 不可增删改

#b. 第一个元素"tang", 是否可修改
#

# c "k2"对应的值是什么类型?是否可改,如果可以,请在其中增加一个元素"san"
# 列表类型 可改
tu[1][2]["k2"].append("san")
print(tu[1][2]["k2"]) #  [‘age‘, ‘name‘, ‘san‘]

# d "k2"对应的值是什么类型?是否可改,如果可以,请在其中增加一个元素"san"
# 元组类型 不可改

9. bool值为False的

记法 6+1
6=3+3:3括号 {} [] ()  3个基本类型 整型=0、字符串=""、bool= False
1:None

10. 求一列表任意两个值相加等于9 的元素集合

nums = [2,7,11,25,1,8,7]
a = []
for i in nums:
    for j in nums:
        if i+j == 9:
            a.append((i,j))
print(a) # [(2, 7), (2, 7), (7, 2), (1, 8), (8, 1), (7, 2)]

# 10_1 求一列表任意两个值相加等于9 的索引元素集合
nums = [2,7,11,25,1,8,7]
a = []
for i in range(len(nums)):
    for j in range(len(nums)):
        if nums[i]+nums[j] == 9:
            a.append((i,j))
print(a) # [(0, 1), (0, 6), (1, 0), (4, 5), (5, 4), (6, 0)]

11 列表反转

li =  [11,22,33,44]
li.reverse()
print(li) # [44, 33, 22, 11]

12 分页显示内容

# a 通过for循环创建302条数据,数据类型不限,如:
user_list = [
    {name:tang1,email:[email protected],pwd:tangpwd1}
]
for i in range(1,302):
    temp = {name:"tang"+str(i),email:[email protected]+str(i),pwd:pwd+str(i)}
    user_list.append(temp)
# print(user_list)

#b 提示用户输入页码,每页10行数据,根据用户输入的页码返回数据
while True:
    s = input(请输入1,2..30页码:)
    s = int(s)
    start = (s-1) * 10
    end = s * 10
    result = user_list[start:end]
    for item in result:
        print(item)

13 三级菜单

db ={
    "北京":{
        "昌平":{"沙河":{}},
        "海淀":{},
        "朝阳":{},
    },
    "广州":{
        "天河":{"天河城"},
        "海珠":{"仑头村"},
    }
}
path = []
while True:
    temp = db
    for item in path:
        temp = temp[item] # temp 指向最后一个节点 path = ["北京", "昌平","沙河"]
    print("当前节点的所有子节点:",list(temp.keys()))

    choice = input(1:添加节点 2:查看节点 (Q 退出 | B 返回上一级)
 >>>)
    if choice == "1":
        name = input("请输入要插入的节点名称>>>")
        if name in temp:
            print("节点已经存在")
        else:
            temp[name] = {}
    elif choice == "2":
        name = input("请输入要查看的节点名称>>>")
        if name in temp:
            path.append(name)
        else:
            print("不存在此节点名称")
    elif choice.lower() == "b":
        if path:
            path.pop()
    elif choice.lower() == q:
        break
    else:
        print(输入错误,请重新输入:)

 





以上是关于Python开发第一篇基础题目二的主要内容,如果未能解决你的问题,请参考以下文章

Python开发第一篇基础题目二

Python开发第一篇Python基础之正则表达式补充

python开发记录第一篇

Python开发第一篇 基础篇

Python开发第一篇Python基础之函数递归

Python开发第一篇Python基础之反射