第二天就这么开始了
今天可能比较乱
先写一下之前看别人提出的1个面试题,说是说一下Py的复制和浅拷贝和深拷贝的区别;这个对于我这个初学者有点难,于是就去百度了下,顺便记录下来
#这个是复制,完全把alist这个列表直接赋值给了b,原始的列表改变,直接能够导致b的改变
alist = [1,2,3,['a','b']]
b = alist
print (b)
alist.append(5)
print(alist)
print(b)
#这个是浅拷贝,浅拷贝随着原列表子元素的改变而改变,但是不能随着新增元素的增加而增加
alist = [1,2,3,['a','b']]
clist = copy.copy(alist)
print (clist)
alist.append(5)
print (alist)
print (clist)
\# [1, 2, 3, ['a', 'b'], 5]
\# [1, 2, 3, ['a', 'b']]
alist[3].append(5)
print (alist)
print (clist)
#[1, 2, 3, ['a', 'b', 5], 5]
#[1, 2, 3, ['a', 'b', 5]]
del alist[0]
print (alist)
print (clist)
#这个是深拷贝,就是只拷贝了原来的列表,拷贝完之后不管原列表怎么改变,拷贝的列表都不会做任何改变
alist = [1,2,3,['a','b']]
d = copy.deepcopy(alist)
print (d)
alist.append(5)
print (alist)
print (d)
/# [1, 2, 3, ['a', 'b'], 5]
/# [1, 2, 3, ['a', 'b']]
alist[3].append(5)
print (alist)
print (d)
/# [1, 2, 3, ['a', 'b', 5], 5]
/# [1, 2, 3, ['a', 'b']]
二、接着说下if语法吧
流程控制
顺序结构:代码从上到下依次执行
条件结构:选择结构,进入分支 有选择的执行代码
循环结构:在某个条件下重复执行某段代码
if这个语法属于条件结构,即选择结构,进入分支 有选择的执行代码
语法的基本写法是:
if 布尔表达式或者是布尔值 :
条件语句
如果布尔表达式==T ,则执行条件语句
如果布尔表达式==F ,则不执行条件语句
input() 获取控制台输入,有返回值—字符串
int() 这个函数是进行数据类型转换
pass 空语句 避免预发错误,有时候不知道里面写什么的时候,可以先用pass
elif 在多个条件语句时,使用elif 下面跟条件语句
条件结构中如果满足某个条件进入分支之后,其他的条件语句就不在执行,直接结束
if 后面只要是非空,非零 则都会执行条件
if 1 :
print ("我是真的")
if [] :
print ("我是假的")
#此时执行的结果只会是"我是真的"
下面来个例子:输入手机号码,判断手机号码是联通、移动还是电信,如果超出11提示超出,非数字提示非法字符
telecom_Card = [133,149,153,173,177,180,181,189,199]
unicom_Card = [130,131,132,145,155,156,166,171,175,176,185,186,166]
mobile_Card = [134,135,136,137,138,139,147,150,151,152,157,158,159,172,178,182,183,184,187,188,198]
while True :
tele = input("请输入你的手机号码:\n")
a = tele[:3]
if len(tele) == 11 and tele.isdigit() :
if int(a) in telecom_Card:
print('你输入的的手机号码是电信号码')
break
elif int(a) in unicom_Card:
print('你输入的的手机号码是联通号码')
break
elif int(a) in mobile_Card:
print('你输入的的手机号码是移动联通号码')
break
else:
print("你输入的手机号码不是三大通讯商号码")
continue
elif len(tele) != 11:
print("你输入的手机号码位数有误")
continue
else:
print("你输入的手机号码含有非法字符")
continue
好了,结束