python學習(8)
阿新 • • 發佈:2018-09-06
== The lse 遍歷 while ber pass 學習 數字 退出雙層循環:
方式1:try--except
方式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)
python學習(8)