Python 파일이 실행되고 있지 않고 다음 오류가 표시됩니다. repl 프로세스가 예기치 않게 종료되었습니다.

가시
days = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
sub_weights = {
  'chem': 5,
  'phy': 5,
  'math': 5,
  'spanish': 4,
  'eco': 4,
  'cs': 2,
  'eng': 2
  }

ilists = []

for x in sub_weights:
  for sub_weight in sub_weights:
    while sub_weight != x:
      i = [sub_weight, x]
      ilists.append(i)
print(ilists)   

두 개의 카운터를 함께 사용하고 함께 살펴볼 수있는 두 가지 주제 가능성을 탐색하고 싶었 기 때문에 가중치를 할당했습니다. 나는 그것을 숭고한 대 코드로 실행하려고 시도했지만 오류가 발생하지 않았고 컴파일되지 않고 컴퓨터가 정말 느려질 것입니다. 한 주제를 두 번 반복하고 싶지 않았기 때문에 while 루프를 작성했습니다. 그게 다인 것 같지만 여전히 깨뜨릴 수 없습니다.

Mureinik

while sub_weight != x무한 루프입니다. 루프의 본문은 변경되지 sub_weight않고 변경되지 x않으므로 ilists프로세스가 너무 많은 메모리를 소비 하고 종료 될 때까지 요소를 무한 반복합니다 . if조건 을 사용하려는 것 같습니다 .

for x in sub_weights:
  for sub_weight in sub_weights:
    if sub_weight != x: # Here!
      i = [sub_weight, x]
      ilists.append(i)

편집 :
이것을 달성하는 더 "파이썬"방법은 itertools.product목록 이해에서 동일한 항목의 쌍 을 사용 하고 필터링하는 것입니다.

from itertools import product
ilists = [p for p in product(sub_weights, repeat = 2) if p[0] != p[1]]
print(len(ilists))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관