退出双层循环:
方式 1:try--except
- try:
- for i in range(5):
- for j in range(5):
- if i==3 and j ==3:
- raise
- except:
- print(1)
- pass
方式 2: 函数实现的 return
- def fun():
- for i in range(5):
- for j in range(5):
- print(i,j)
- if i==3 and j ==3:
- return True
- fun()
方式 3: 多层 break
- for i in range(5):
- for j in range(5):
- for k in range(5):
- if i == j == k == 3:
- break
- else:
- print (i, '----', j, '----', k)
- else: continue
- break
- else: continue
- break
习题 12: 输入 3 个数字, 达到 3 个数字求和, 结束程序
- result = 0
- for i in range(3):
- number = input("please input number:")
- result += int(number)
- print(result)
习题 13, 用户输入不同的数据, 当输入的数据达到 3 个数字的时候, 求和结束程序.(数字可以是整数)
提示: 判断是否整数的方法, isdigit()
遍历所有的输入数据, 判断是否在 0-9 的字符串范围内
方式 1:
- #coding=utf-8
- result = 0
- count = 0
- while True:
- s = input("please input the number:")
- for v in s:
- if v not in "0123456789":# 如果不是数字跳出当前循环
- break
- else:
- count+=1
- result += int(s)
- if count ==3:
- break
- print(result)
方式 2: 先定义一个判断数字的函数
- #encoding=utf-8
- def is_int(num):
- for n in num:
- if n not in "0123456789":
- return False
- return True
- result = 0
- number_count = 0
- while True:
- s = input("please input the number:")
- if is_int(s):
- result += int(s)
- number_count += 1
- if number_count == 3:
- break
- print(result)
方式 3: 利用 isdigit() 函数
- result1 = 0
- count1=0
- while True:
- s = input("please input the number:")
- if s.isdigit():
- count1+=1
- result1 += int(s)
- if count1 ==3:
- break
- print(result1)
习题 14: 用嵌套列表的方式, 遍历输出一个矩阵方式 1:
- l = [
- [1,2,3],
- [4,5,6],
- [7,8,9]
- ]
- for i in l:
- for j in i:
- print(j,end=" ")
- print()
方式 2:
- for i in range(len(l)):
- for j in range(len(l[i])):
- print(l[i][j],end = " ")
- print()
习题 15: 嵌套列表的正, 反对角线之和正对角线之和
- l = [
- [1,2,3],
- [4,5,6],
- [7,8,9]
- ]
- rusult = 0
- for i in range(len(l)):
- for j in range(len(l[i])):
- if i==j:
- rusult += l[i][j]
- print(rusult)
反对角线之和
- rusult = 0
- for i in range(len(l)):
- for j in range(len(l[i])):
- if (i+j)==2:
- rusult += l[i][j]
- print(rusult)
习题 16: 求以下矩阵四边元素之和 l = [[1,2,3,4,5], [1,2,3,4,5], [1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5] ]
方法 1:
1, 第 1 行和第 5 行所有元素求和 2, 其他行 只要第 1 列和第 5 列求和
- rusult = 0
- for i in range(len(l)):
- for j in range(len(l[i])):
- if i == 0 or i == 4:
- rusult += l[i][j]
- else:
- if j==0 or j==4:
- rusult += l[i][j]
- print(rusult)
方法 2: 所有元素之和, 减去中间矩阵之和
- l = [
- [1,2,3,4,5],
- [1,2,3,4,5],
- [1,2,3,4,5],
- [1,2,3,4,5],
- [1,2,3,4,5]
- ]
- matrix_element_sum = 0
- sub_matrix_element_sum = 0
- for i in range(len(l)):
- for j in range(len(l[i])):
- matrix_element_sum += l[i][j]
- result_mid = 0
- for i in range(len(l)):
- for j in range(len(l[i])):
- if i == 0 or i ==4:
- continue
- else:
- if j !=0 and j!=4:
- sub_matrix_element_sum += l[i][j]
- print(matrix_element_sum - sub_matrix_element_sum)
来源: http://www.bubuko.com/infodetail-2757660.html