python list + for 串列與for綜合運用
#a生8科成績,計算總和及平均
a=[45,67,89,56,34,56,77,88]
print(a)
#印出每一科成績
for i in range( len(a)): #range(10)=0~9 , 0~n-1
print("科目" , i , "=" , a[i] )
print("----------------------")
#列印每一科成績跟60分的差距
# 科目0= -15
# 科目1= 7
for i in range( len(a)):
print("科目" , i , "跟60分的差距=" , a[i]-60 )
#列印每一科成績是不是及格
print("----------------------")
for i in range( len(a)):
print("科目" , i , "=" , a[i] ,end="")
if(a[i]>=60) :
print("及格")
else:
print("不及格")
sum=0
for i in range( len(a)):
sum = sum + a[i]
print("總和=",sum)
print("平均=",sum/8)
------------------------------------------------------
#用亂數產生a生8科成績,計算總和及平均
import random
a=[]
for i in range(8):
a.append(random.randint(1,100))
sum=0
for i in range( len(a)):
sum = sum + a[i]
print(a)
print("總和=",sum)
print("平均=",sum/8)
------------------------------------
#用亂數產生10個學生8科成績,計算總和及平均
import random
tmp=[];
a=[]
for j in range(10):
tmp=[]
for i in range(8):
tmp.append( random.randint(1,100)) # tmp=[82, 11, 80, 11, 86, 98, 2, 7]--->8筆成績
a.append( tmp )
print(a)
for i in range(10):
sum=0
for j in range(8):
sum = sum + a[i][j];
print("總和=",sum)
print("平均=",sum/8)
------------------------------------
#用亂數產生a,b,c三個學生每個人8科成績,計算各科總和(subject_sum[])及個人總和(sum_a,sum_b,sum_c)
import random
a=[]; b=[] ; c=[]
for i in range(8):
a.append(random.randint(1,100))
b.append(random.randint(1,100))
c.append(random.randint(1,100))
sum_a=0 ; sum_b=0 ; sum_c=0
for i in range(8):
sum_a += a[i]
sum_b += b[i]
sum_c += c[i]
print(a,sum_a) ; print(b,sum_b) ; print(c,sum_c)
#各科總和
subject_sum=[]
for i in range(8): subject_sum.append(0) # sum起始值
for i in range(8):
subject_sum[i]=a[i]+b[i]+c[i]
print(subject_sum)
--------------------------------
# for迴圈與字串操作----大數運算
a="88888888888888888999" #20位數
b="22222222222222222456"
c=[]
for i in range(21): c.append(0) #21位數
# 加法
carry=0 #進位
for i in range(19,-1,-1):
x=int(a[i])+ int(b[i])+ carry
if( x>=10 ):
c[i+1]=x-10 # c 多一位數
carry=1
else:
c[i+1]=x
carry=0
c[i]=carry # 第0位=進位
print(c)