playXP

서브 메뉴

Page. 1107 / 12505 [내 메뉴에 추가]
글쓰기
작성자 아이콘 marine12
작성일 2020-03-23 12:10:50 KST 조회 858
제목
파이썬 너무 억울한데

import time,random

 

n=int(input("원하시는 숫자를 입력하세요:"))

 

X=[random.randint(-999,999) for i in range(n)]

 

print(X)

#pr1 start

before1 = time.clock()

def prefixSum1(X, n): # code for prefixSum1

for i = 0 to n-1 do

S = 0

for j = 0 to i do

S=S+X[j]

return (S)

after1 = time.clock()

#pr2 start

before2 = time.clock()

def prefixSum2(X, n): # code for prefixSum2

S[0]= X[0]

for i = 1 to n-1 do

S=S[i-1]+X

return (S)

after2 = time.clock()

#

random.seed()

print(after1 - before1)

print(after2 - before2)

 

인터넷 다 뒤져도 근본적인 코드는 똑같은 거 같은데 왜 맨날 이게 뜨는 지 모르겠음. 다른 형식으로 하면 또 실행 되는데 do쓸 때만 안되는데 제가 무슨 뻘짓을 했는 지 좀 알려주실 수 있나요

 > Makefile:6: recipe for target 'py3_run' failed

make: *** [py3_run] Error 1

  File "Main.out", line 11

    for i = 0 to n-1 do

          ^

SyntaxError: invalid syntax

 

 

 

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

아이콘 개념의극한 (2020-03-23 12:17:58 KST)
0↑ ↓0
센스 이미지
Do는 왜 넣었나요?
아이콘 marine12 (2020-03-23 12:25:13 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
ㄴ 방금 쓰면서 발견했음. ㄹㅇ 빡대가리인듯
아이콘 marine12 (2020-03-23 12:25:49 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
2.999999999999531e-06
1.9999999999985307e-06
근데 시간이 이런 식으로 나오는데 정상인가요??
아이콘 개념의극한 (2020-03-23 12:34:47 KST)
0↑ ↓0
센스 이미지
네 그거 초 단위에요
아이콘 marine12 (2020-03-23 12:45:24 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
ㄴ근데 그냥 import time,random
after1 = time.clock()
print (after1) 이렇게 해서 돌리면 0.027208이라고 명확히 초가 나오더라구요 제 코드랑 이 코드랑 다르게 나오는 이유가 뭔 지 알려주실 수 있나요?
아이콘 개념의극한 (2020-03-23 13:08:03 KST)
0↑ ↓0
센스 이미지
time.clock() 은 프로그램 시작 후 시간입니다

근데 하신게 after - before 를 하셨는데
그 숫자가 작으면 출력형이 달라져요
아이콘 marine12 (2020-03-23 13:15:14 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
ㄴ근데 제가 10000을 넣어도 결과가 똑같이 나오더라구요 그래서

#pr1 start
def prefixSum1(X, n): # code for prefixSum1
for i in range(n-1):
S = 0
for j in range(i):
S=S+X[j]
return (S)
#pr2 start
def prefixSum2(X, n): # code for prefixSum2
S[0]= X[0]
for i in range(1, n-1):
S=S[i-1]+X
return (S)
#
import time,random
n=int(input("number input:"))
X=[random.randint(-999,999) for i in range(n)]

before1 = time.clock()
prefixSum1(X, n)
after1 = time.clock()
print(after1 - before1)

before2=time.clock()
prefixSum2(X,n)
after2=time.clock()
print(after2 - before2)

random.seed()

이런 식으로 함수를 뒤에 호출 시켰더니 Makefile:6: recipe for target 'py3_run' failed
make: *** [py3_run] Error 1
Traceback (most recent call last):
File "Main.out", line 23, in <module>
prefixSum1(X, n)
File "Main.out", line 5, in prefixSum1
S = 0
NameError: name 'S' is not defined
이 오류가 생기더라구요. S를 정의할 필요가 있나요??
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.