2013-03-15 3 views
-2

Я решил, что я хотел, чтобы автоматизировать решения математики загадки, однако, он не работает в Python, хотя, я уже успешно сделал это в пакете:Хотя цикл не работает (питон)

@echo off 
set people=1 
set handshakes=0 
set cnt=0 
:LOOP 
set /A people+=1 
set /A cnt+=1 
set /A handshakes+=%cnt% 
echo.handshakes:%handshakes%,people=%people% 
if "%handshakes%" NEQ "66" Goto :LOOP 
echo.---------Final Result------------ 
echo.Handshakes:%handshakes% 
echo.People:%people% 
pause > nul 
exit /b 

Но следующий код питона по очень странным причинам не работает:

people = 1 
handshakes = 0 
cnt = 0 
while a < 66: 
    people+=1 
    cnt+=1 
    handshakes+=cnt 
print (handshakes) 
print (people) 
raw_input() 

загадка: на вечеринке, все пожали друг другу руки со всеми остальными. Было 66 рукопожатий. Сколько людей было на вечеринке?

+2

Когда вы задаете вопрос, никогда не говорите «не работает». Всегда объясняйте, как программа терпит неудачу. Предоставлять точные сообщения об ошибках. –

+0

Dos не работает, немного неспецифичен. Вы получаете 42, ошибка или она взорвалась? – jeb

ответ

2

Ваша петля проверяет переменную с именем a. Однако вы никогда не назначаете a и не изменяете его внутри цикла.

+0

LOL, спасибо. Отсутствие сна здесь. – MDP

1

Вы должны определить, что такое 'a'.

0

В вашей петле ваше условие выхода a < 66, но у вас нет переменной с именем a в любом месте вашей программы. Измените это на handshakes < 66.

0

Вы забыли указать a, и вы никогда не обновляете a внутри цикла while, а также raw_input на самом деле ничего не делают.

Смежные вопросы