-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

但是出于一个非常奇怪的原因,以下 python 代码不起作用:

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

谜语:在聚会上,每个人都与其他人握手。有66次握手。聚会有多少人?

4

3 回答 3

2

您的循环检查一个名为a. 但是,您永远不会在循环内分配a或修改它。

于 2013-03-15T18:50:38.070 回答
0

在您的循环中,您的退出条件是,但您在程序中的任何位置a < 66都没有命名变量。a将此更改为handshakes < 66.

于 2013-03-15T18:52:08.073 回答
0

您忘记了定义a,并且您永远不会a在 while 循环中更新,而且这raw_input并没有真正做某事。

于 2013-03-15T18:59:46.723 回答