def getPrimeList(check):
storedprimes = []
i = 2
while i <= check:
if isPrime(check):
storedprimes = storedprimes + [i]
i = i + 1
return storedprimes
def getPrimeFact(check):
primelist = getPrimeList(check)
prime_fact = []
i = 0
while check !=1:
if check%primelist[i]==0:
prime_fact=prime_fact+[primelist[i]]
check = check/primelist[i]
i = i + 1
if i == len(primelist):
i = 0
return prime_fact
def getGCF(checks):
a=0
listofprimefacts=[]
while a<len(checks):
listofprimefacts=listofprimefacts+[getPrimeFact(checks[a])]
a=a+1
b=0
storedprimes=[]
while b<len(primefactlist):
c=0
while c<len(listofprimefacts[b]):
if listofprimefacts[b][c] not in storedprimes:
storedprimes=storedprimes+[listofprimefacts[b][c]]
c=c+1
b=b+1
prime_exp=[]
d=0
while d<len(storedprimes):
prime_exp=prime_exp+[0]
d=d+1
e=0
while e<len(storedprimes):
f=0
while f<len(listofprimefacts):
if f==0:
prime_exp[e]=listofprimefacts[f].count(storedprimes[e])
elif prime_exp[e]-(listofprimefacts[f].count(storedprimes[e]))>0:
prime_exp[e]=listofprimefacts[f].count(storedprimes[e])
f=f+1
e=e+1
g=0
GCF=1
while g<len(primelist):
GCF=GCF*(storedprime[g]**prime_exp[g])
g=g+1
return GCF
나는 분수를 계산할 목적으로이 기능들을 사용할 프로그램을 만들고있다. 그러나 셸에서 GCF 함수를 테스트 한 후에 목록 인덱싱 오류가 계속 발생합니다. 나도 몰라, 어디에서 오류가 내 인덱스와 함께 아무런 문제가 없다는 것을 확신 99 %를 고려에서 오는, 일반적으로 그런 "fixable"문제를 게시하지 않았지만 이번엔 난 그냥 문제가 뭔지 모르겠지만, 다시 한 번 감사드립니다.파이썬리스트 색인 오류
아, 그리고 heres는 정확한 오류 당신은이 문제를 공격하는 방법을 다시 생각 할 수 있습니다
File "<pyshell#1>", line 1, in <module>
getGCF(checks)
File "E:\CompProgramming\MidtermFuncts.py", line 31, in getGCF
listofprimefacts=listofprimefacts+[getPrimeFact(checks[a])]
File "E:\CompProgramming\MidtermFuncts.py", line 20, in getPrimeFact
if check%primelist[i]==0:
IndexError: list index out of range
'for'루프를 읽습니다. – Blender
블렌더 당신의 이름과 풍자적 인 그러나 심각한 스타일의 스타일은 당신을 전에 만난 ive처럼 느낍니다. 다시 한 번 이방인 : D – Alvaro
학습 활동입니까, 아니면 문제를 해결하려고합니까? 나는 당신의 분수 요구를 해결해야만하는 기존의 Python 솔루션이 있다는 것을 확신하지만, 계속 배우고 있다면. – steveha