각각 50 개의 난수로 구성된 두 개의 목록 ("lstA", "lstB")을 만들고 싶습니다. 그런 다음 두 목록과 세 번째 목록 ("lstOvrlp")에 넣으려는 현재 겹침을 비교하려고합니다. 그런 다음 세 번째 목록의 길이를 가져 와서 네 번째 목록 ("lstC")에 넣고 싶습니다.새로운 목록 every While 루프
다음으로이 기본 프로그램을 10 번 반복하면됩니다 (나중에이 부분에 사용자 입력을 추가하겠습니다).
def main():
import random
lstA = []
lstB = []
lstC = []
lstA = random.sample(range(1, 101), 50)
lstB = random.sample(range(1, 101), 50)
lstOvrlp = set(lstA) & set(lstB)
while len(lstC) <= 10:
print("This is list A:", lstA)
print("\n")
print("This is list B:", lstB)
print("\n")
print("This is the overlap between the two lists:", lstOvrlp)
numinC = len(lstOvrlp)
print("Number in common: ", numinC)
print("\n")
lstC.append(numinC)
print(lstC)
main()
문제가 오히려 프로그램이 바로 루프를 통해 임의의 숫자 매번 뱉어보다 결과 또 다시 같은 번호를 다시 사용합니다 :
이
내가 지금까지 가지고있는 코드입니다 "lstC"에서 같은 겹침 숫자와 결과적으로 동일한 길이. 아마도 내가 알지 못하는 임의의 다른 기능이 있지만 찾을 수 없습니다."lstC"가 다양한 항목으로 끝나도록 프로그램이 반복 될 때마다 "lstA"및 "lstB"에 새로운 번호 배치가 필요합니다. 나는 데이터로 작업하는 약간의 연습을 얻으려고 노력하고 있으며 결국에는 평균과 같은 정보에 대한 간단한 통계 분석을 수행 할 것이다.
여기에 나와있는 오류를 지적 할 수는 없지만 많은 정보가 있으므로 보장해 드릴 수 있습니다.
감사합니다.
'random.sample' 세대 **를 ** while 루프에 넣어야합니다. 그렇지 않은 경우 (한 번에) * * 루프를 생성하지만 무작위 샘플을 다시 생성하지 않습니다. – BorrajaX
변경하지 않으면 어떻게 변했습니까? –
루프 내에서 lstA 및 lstB 샘플을 생성해야합니다. – Ejaz