파이썬 인자 값 입력받기 채택완료

인자 값을 개수를 정해두지 않고 입력을 받고, 입력받은 인자를 integer 형태로 바꿔서 start 리스트에 저장하고 싶습니다..!!!!

988123253_1621951121.6347.png

그런데 자꾸 8번째 라인에서 아래와 같은 오류가 뜨네요ㅠㅠ

제힘으로 해결하고 싶었는데 도저히 모르겠습니다,,,

도와주세요,,ㅜㅜ

988123253_1621951183.9559.png

답변 2개

채택된 답변
+20 포인트

안녕하세요?

파이썬의 sys.argv에 대해 설명을 드리면 그 자체로 리스트에 해당하며,

sys.argv[0]에는 실행하는 스크립트의 경로가 담기게 되고,

sys.argv[1]부터 명령행을 통해 전달되는 인자값들을 저장하고 있습니다 ^^

위와 같은 이유로 인하여 다음과 같이 명령행에 한 개의 인자값을 넣더라도 len(sys.argv)는 2가 됩니다.

Copy
python start.py 15

작성하신 코드에서 다음과 같이 6번째 행을 수정하시면 에러가 발생하지 않습니다 ^^

Copy
a = range(1, len(sys.argv))

참고로 원하시는 결과는 map 함수를 이용하여 보다 간단히 처리할 수 있습니다 :)

Copy
import sys

 

start = list(map(int, sys.argv[1:]))

궁금하신 점이 해결되셨으면 좋겠네요~

그럼 좋은 주말 되세요 :)

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

앗 지금봤네요 감사합니다!!!!
감사합니다! 저녁식사 맛있게 드세요 ^-^

댓글을 작성하려면 로그인이 필요합니다.

start= [ ""]*100

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고