python整理面试题(1)

本文通过几个具体的Python编程实例展示了如何解决数学问题、理解运算符、列表操作、条件判断及列表推导等常见编程任务。文章还介绍了变量作用域、列表与元组的区别以及浅拷贝和深拷贝的概念。
1. 在1 2 3 4 5 6 7 8 9九个数字中插入“+”或“-”符号使得结果为100
from itertools import product
def total_100():
    results,numbers = [],range(1,10)
    for item in product(['+','-',''],repeat=8):
        # print(item)
        number_tuple = zip(numbers,item+("",))
        a = [str(x)+y for x,y in number_tuple]
        combine = "".join(a)
        if eval(combine) == 100:
            results.append(combine + "= 100")
    return results
new_lst = total_100()
for item in new_lst:
    print(item)

结果

1+2+3-4+5+6+78+9= 100
1+2+34-5+67-8+9= 100
1+23-4+5+6+78-9= 100
1+23-4+56+7+8+9= 100
12+3+4+5-6-7+89= 100
12+3-4+5+67+8+9= 100
12-3-4+5-6+7+89= 100
123+4-5+67-89= 100
123+45-67+8-9= 100
123-4-5-6-7+8-9= 100
123-45-67+89= 100
2.
print(10//3)  #3
print(10%3) #1
print(10.0 % 3)# 3.0
3.
listTemp = [1,2,3]
print(listTemp[3])  #报错
print(listTemp[3:])# []
4.
 if dictTemp:
    print("result A")
 elif dictTemp is None:
    print("result B")
 else:
    print("result C")#result C
5.
 listA = [[x,x*x]for x in range(10)if x%2]
 print(listA)#[[1, 1], [3, 9], [5, 25], [7, 49], [9, 81]]
6.
a = 1
def change(a):
    a = 2
change(a)
print(a) #1
7.
a = [1]
def change(a):
    a.append(2)
    a = [1]
change(a)
print(a)  #[1,2]
8.
#Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。 
#1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。 
#2. copy.deepcopy 深拷贝 拷贝对象及其子对象 
import copy
a = [1,2,3,4,['a','b']]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)
a.append(5)
a[4].append('c')
print(a)#[1, 2, 3, 4, ['a', 'b', 'c'], 5]
print(b)#[1, 2, 3, 4, ['a', 'b', 'c'], 5]
print(c)#[1, 2, 3, 4, ['a', 'b', 'c']]
print(d)#[1, 2, 3, 4, ['a', 'b']]
import re
a = re.compile("[a-zA-z]{4}")
print(re.findall(a,"i Love Python"))
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值