작성
·
259
1
답변 2
1
다릅니다.
#같습니다.
for i in range(5):
print("Hello World")
#결과: "Hello World"
"Hello World"
"Hello World"
"Hello World"
"Hello World"
for i in range(1, 5+1):
print("Hello World")
#결과: "Hello World"
"Hello World"
"Hello World"
"Hello World"
"Hello World"
위와 같이 "~번반복"하고싶을때는 range(n), range(1, n+1)둘다 괜찮지만 아래와같이 i자체(값)를 사용하고싶을때는 에러가 날 수도있습니다.
arr = [1, 2, 3, 4, 5]
for i in range(5):
print(arr[i])
#결과:1
#2
#3
#4
#5
for i in range(1, 5 + 1):
print(arr[i])
#결과:#2
#3
#4
#5
#Traceback (most recent call last):
# File "/Users/user/Desktop/test/test.py", line 5, in <module>
# print(arr[i])
#IndexError: list index out of range
그리고 아래같은경우도 있습니다.
n = 12
for i in range(n):
if n % i == 0:
print(i, end=' ')
#결과:Traceback (most recent call last):
# File "/Users/user/Desktop/test/test.py", line 3, in <module>
# if n % i == 0:
#ZeroDivisionError: integer division or modulo by zero
for i in range(1, n+1):
if n % i == 0:
print(i, end=' ')
#결과:1 2 3 4 6 12
따라서 필요에 따라 (n), (1, n+1)를 구분하며 사용해야합니다.
0
안녕하세요^^
이 문제에서 i와 j는 주사위에 눈을 의미합니다. 즉 i값이 정사면체 눈을 의미한다면 i의 값은 1부터 4까지로 표현되어야 가독성도 좋고 의미도 제대로 되어 코드구현이 쉽습니다.