化工過程分析與合成-P21(2-3)第一版代碼
必需承認(rèn),好久不碰編程,很多基本常識(shí)都已經(jīng)忘記了。
但是為了上課能夠演示一下,重新拾起來。
代碼體現(xiàn)的思維方式,這是我解決這個(gè)問題的思路。
也就是一個(gè)情況一個(gè)情況的考慮。
但是程序?qū)懰懒?。?yīng)該開放接口方便擴(kuò)展使用。
#coding:utf-8
import math
s=[[0,1,1,0],
? ?[1,1,1,1],
? ?[0,0,1,1],
? ?[1,0,0,0],
? ?[0,1,0,0],
? ?[0,0,1,0],
? ?[0,0,0,1]]
m=[0,0,0,0]
#判斷1項(xiàng)是否滿足
for i in range(0,7):
? ? print("s",str(i+1),"=",s[i])
for i in range(0,7):
? ? if (s[i]==[1,1,1,1]):
? ? ? ? print('s',str(i+1))
#判斷2項(xiàng)是否滿足
for i in range(0,7):
? ? for j in range(i+1,7):
? ? ? ? for t in range(0,4):
? ? ? ? ? ? m[t]=s[i][t]+s[j][t]
? ? ? ? if (m==[1,1,1,1]):
? ? ? ? ? ? print('s',str(i+1),'+','s',str(j+1),"=",m)
#判斷3項(xiàng)是否滿足
for i in range(0,7):
? ? for j in range(i+1,7):
? ? ? ? for z in range (j+1,7):
? ? ? ? ? ? for t in range(0,4):
? ? ? ? ? ? ? ? m[t]=s[i][t]+s[j][t]+s[z][t]
? ? ? ? ? ? if (m==[1,1,1,1]):
? ? ? ? ? ? ? ? print(" match the need")
? ? ? ? ? ? ? ? print('s',str(i+1),'+','s',str(j+1),'+','s',str(z+1),"=",m)
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ??
#判斷4項(xiàng)是否滿足
for i in range(0,7):
? ? for j in range(i+1,7):
? ? ? ? for z in range (j+1,7):
? ? ? ? ? ? for p in range(z+1,7):
? ? ? ? ? ? ? ? for t in range(0,4):
? ? ? ? ? ? ? ? ? ? m[t]=s[i][t]+s[j][t]+s[z][t]+s[p][t]
? ? ? ? ? ? ? ? if (m==[1,1,1,1]):
? ? ? ? ? ? ? ? ? ? print(" match the need")
? ? ? ? ? ? ? ? ? ? print('s',str(i+1),'+','s',str(j+1),'+','s',str(z+1),'+','s',str(p+1),"=",m)
? ? ? ? ? ? ??