여전히 작동하지 않는 편집 된 코드를 보여주고 싶습니다. 먼저 숫자를 정수로 변환 한 다음 목록을 집합으로 변환하여 조언대로 시도했습니다. 그러나 콘솔에서 동일한 오류가 계속 발생합니다. ValueError : int ()에 대한 유효하지 않은 리터럴 for base 10 : '1 3 5 6 7'
다음은 전체 코드입니다.
lottery_numbers = [6, 7, 17, 5, 11, 25]
players = [
{"name": "Connor", "numbers": {6, 7, 17, 34, 11, 25}},
{"name": "Dave", "numbers": {3, 7, 35, 21, 5, 16}},
{"name": "Emily", "numbers": {12, 28, 4, 16, 17, 5}},
{"name": "Chris", "numbers": {34, 21, 3, 6, 13, 5}},
]
your_name = input("What is your name?")
given_numbers = input("Type any 6 numbers from 1 to 40: ")
your_numbers = [int(num) for num in given_numbers.split(',')]
your_combination = set(your_numbers)
players.append({"name": your_name, "numbers": your_combination})
print(your_combination)
numbers_matched = {}
prize_1 = 1000
prize_2 = 10000
prize_3 = 1000000
for player in players:
numbers_matched = player["numbers"].intersection(lottery_numbers)
print(f"{player['name']} has these numbers matched: {numbers_matched}")
if len(numbers_matched) > 5:
print(f"{player['name']} has won {prize_3} $")
elif len(numbers_matched) > 4:
print(f"{player['name']} has won {prize_2} $")
elif len(numbers_matched) > 3:
print(f"{player['name']} has won {prize_1} $")
enter code here
먼저 여기에 중첩 된 사전이 없습니다. players
A는 리스트 . 특히 사전 목록입니다. numbers
이러한 각 사전 의 키는 집합 입니다.
따라서 목록에 다른 사전을 추가하려면 .append
. 그런 다음에서 반환 된 목록을 .split
세트로 전환하려면 set
캐스트 를 사용합니다 .
또한 쉼표로 구분 된 숫자 입력을 int
int(input("Type any 6 numbers from 1 to 40: "))
어떻게 파이썬이 켜 기대 1, 2, 3, 4, 5, 6, 7
에 int
? 작동하지 않습니다. 이것을 분할 ,
하고 각 요소를int
우리는 이해력 을 사용하여 할 수 있습니다
[int(x.strip()) for x in given_numbers.split(',')]
(참고, 나는 .strip
여분의 공백을 제거하기 위해 사용 하고 있습니다)
또는 직접 set
set(int(x.strip()) for x in given_numbers.split(','))
그래서 이것은 전체 코드가 어떻게 보일 수 있는지입니다.
your_name = input("What is your name?")
given_numbers = input("Type any 6 numbers from 1 to 40: ")
your_numbers = set(int(x.strip()) for x in given_numbers.split(','))
players.append({"name": your_name, "numbers": your_numbers})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다