2013-11-27 2 views
2

이 상상 : while 루프가 몇 번 실행되는지 기록하십시오. - 파이썬

당신은 while 루프

당신이

당신이 무엇을해야 실행 얼마나 많은 시간을 알고 싶어이 ???

지금 내가 들으니, 문맥이 무엇입니까?

상황 : I 1과 100 사이의 숫자를 생각 파이썬에서이 프로그램을 쓰고 있어요, 당신이 그것을 추측한다. 추측은 while 루프에 참여합니다 (아래 코드를 보시기 바랍니다).하지만 얼마나 많은 추측이 필요한지 알아야합니다.

미리 감사드립니다

에 내가 파이썬 3 배를 사용하고 있습니다 : https://gist.github.com/anonymous/1d33c9ace3f67642ac09

기억하십시오 :

print("It took you " + number_of_guesses + " guesses to get this correct.") 

이 요점에서 전체 코드입니다 :

그래서,이 내가 필요로하는 것입니다

답변

5
count = 0 

while x != y:: 
    count +=1 # variable will increment every loop iteration 
    # your code 


print count 
+0

좋은 답변, 다른 사람들을 살펴 보겠습니다. – Turbo

+0

왜이 질문이 downvoted 이었는지 알고 있습니까? – Turbo

+0

그것은 downvoted처럼 그것은 내게 보이지 않습니다. – jramirez

2
counter = 0 
while True: 
    counter += 1 
    # get input 
    # process input 
    # if done: break 
,
5

는 단지 재미를 위해, 코드 4 (어느 정도 읽을 수) 라인 전체 프로그램은

sentinel = random.randint(1,10) 
def check_guess(guess): 
    print ("Hint:(too small)" if guess < sentinel else "Hint:(too big)") 
    return True 

total_guesses = sum(1 for guess in iter(lambda:int(input("Can you guess it?: ")), sentinel) if check_guess(guess)) + 1 
+1

또는'len (list (iter (...)) '대신'sum (1 for _ iter (...))'메모리를 절약하십시오. –

+2

@SteveJessop - 맞습니다 ... 데이터가 실제로'input'에서 오는 것이라면, 사용자가 시스템의 총 메모리 사용량에 움푹 패인 숫자를 입력 할 것입니다. – mgilson

+0

thanks 왜 내가 그렇게했는지 확신 할 수 없다. P –

2

하나의 옵션은 그것이 while True

while loop_test: 
    whatever() 

import itertools 
for i in itertools.count(): 
    if not loop_test: 
     break 
    whatever() 

에 있다면 변환하는 것입니다 , 이것은 간단 해집니다

import itertools 
for i in itertools.count(): 
    whatever() 
+0

당신의 노력에 감사 드리며, 투표를했습니다. – Turbo

관련 문제