为什么在使用之前声明了这个范围变量?

fri*_*rer 6 python

我刚刚开始使用Python创建自己的计算机游戏.这是第3章的示例代码:

1   # This is a Guess the Number game.      
2   import random       
3   
4   guessesTaken = 0        
5           
6   print('Hello! What is your name?')      
7   myName = input()        
8           
9   number = random.randint(1, 20)      
10  print('Well, ' + myName + ', I am thinking of a number between 1 and 20.')      
11          
12  for guessesTaken in range(6):       
13      print('Take a guess.') # Four spaces in front of "print"        
14      guess = input()     
15      guess = int(guess)      
16          
17      if guess < number:      
18          print('Your guess is too low.') # Eight spaces in front of "print"      
19          
20      if guess > number:      
21          print('Your guess is too high.')        
22          
23      if guess == number:     
24          break       
25          
26  if guess == number:     
27      guessesTaken = str(guessesTaken + 1)        
28      print('Good job, ' + myName + '! You guessed my number in ' + guessesTaken + ' guesses!')       
29          
30  if guess != number:     
31      number = str(number)        
32      print('Nope. The number I was thinking of was ' + number + '.') 
Run Code Online (Sandbox Code Playgroud)

为什么guessesTaken在开始时声明变量显然可以在Python中随时声明?

我已经尝试了它完全没有那条线,也已经改为guessesTaken0以外的数字.在这两种情况下,它似乎工作完全相同,因为range功能似乎管理guessesTaken.

该书指出:

第4行创建了一个名为的新变量guessesTaken:

4. guessesTaken = 0
Run Code Online (Sandbox Code Playgroud)

您将存储玩家在此变量中所做的猜测次数.由于玩家此时尚未在程序中进行任何猜测,因此请在0此处存储整数.

这并不能证明这条线的存在是合理的.

Sam*_*Sam 3

循环之前的声明没有任何作用。它只是为了提高代码的可读性或理解性。