4. 将一个字典的 key和value 互换
s={'a':1,'b':2}
result={}
for k,v in s.items():
result[v]=k
print(result)
5. 将一个多重嵌套的列表的元素进行互换,存到另一个同等维度的嵌套列表中,例如:[[1,2,3],[4,5,6]]互换后变
成[[1,4],[2,5],[3,6]]
s=[[1,2,3],[4,5,6]]
result=[]
for i in range(3):
temp=[]
for j in s:
temp.append(j[i])
result.append(temp)
print(result)
6. 有一个3 x 4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号,矩阵可以通过嵌
套列表来模拟
lst = [
[1,2,3,4],
[4,5,1,3],
[8,4,9,0]
]
max_values=0
for i in lst:
for j in i:
if j > max_values:
max_values=j
print(max_values)
for i in range(len(lst)):
for j in range(len(lst[i])):
if lst[i][j]==max_values:
print('最大值所在的行号是%s,列号是%s'%(i+1,j+1))
7. 递归实现嵌套列表求和
"""
遍历列表,判断子元素是不是列表,不是的话添加到result中
是列表就继续遍历列表,再把子元素给取出来,添加到result中
再计算result的总和
"""
lst = [
[1,2,3,4],
[4,5,1,3],
[8,4,9,0]
]
result=[]
def sum_list(s):
if not isinstance(s,list):
return Flase
for i in s:
if not isinstance(i,list):
result.append(i)
else:
sum_list(i)
return sum(result)
print(sum_list(lst))
8. 打印斐波拉契数列前n项
"""
n=0 和n=1时,返回1
第n项:n-1+n-2
"""
def fib(n):
if n==0 or n==1:
return 1
else:
return fib(n-1)+fib(n-2)
for i in range(10):
print(i,fib(i))
print(fib(i))
9. 检查ipV4的有效性,有效则返回True,否则返回False,(提示使用split函数进行分割)
def is_ip(s):
for i in s.split('.'):
if not i.isdigit() and int(i)>=0 and int(i)<=255:
return '无效ip'
else:
return '有效ip'
ip = "168.2.52.68"
print(is_ip(ip))
10. 检测密码强度
c1 : 长度>=8
c2: 包含数字和字母
c3: 其他可见的特殊字符
强:满足c1,c2,c3
中: 只满足任一2个条件
弱:只满足任一1个或0个条件
import string
#判断长度
def check_len(s):
if len(s)>=8:
return True
else:
return False
#判断数字和字母
def check_letter(s):
digit=False
letter=False
for i in s:
if i in string.digits:
return True
if i in string.ascii_letters:
return True
if digit and letter:
return True
else:
return False
#判断特殊字符
def check_punctuation(s):
for i in s:
if i in string.punctuation:
return True
else:
return False
#判断密码组合
def check_password(s):
if check_len(s) and check_letter(s) and check_punctuation(s):
return '强'
elif check_len(s) and check_letter(s):
return '中'
elif check_len(s) and check_punctuation(s):
return '中'
elif check_letter(s) and check_punctuation(s):
return '中'
elif check_len(s) or check_letter(s) or check_punctuation(s):
return '弱'
else:
return '弱'
passwd_1 = "Hhq123456!"
passwd_2 = "Hhq123456"
passwd_3 = "Hhq!"
passwd_4 = "Hhq"
print(check_password(passwd_1))
print(check_password(passwd_2))
print(check_password(passwd_3))
print(check_password(passwd_4))
python 练习2020/07/12
最新推荐文章于 2024-10-05 08:57:27 发布