repl.it中警告的含义?
Meaning of warning in repl.it?
我想在这里尝试使用 != 而不是 =(通过切换 if
和 else
语句),以防我想添加一个 elif: 之后(可能是一个测试响应如果输入的猜测大于最大值)。
我不明白为什么它现在抛出 warning/error,或者那个警告是什么意思。
澄清一下,代码运行并且似乎工作正常,但我在 repl.it 中收到警告,我正在使用 write/run。
第 3 行def make_guess
它说 - Redefining name 'guess' from outer scope (line 21)
<=这是什么意思?
然后在第 21 行 max=int(input("Guess number between 1 and what?"))
它说 Redefining built-in 'max'
[虽然我猜这不是问题,因为如果我重命名该变量 maxi
它不会显示第 21 行的警告]
原代码:
import random
def make_guess(guess):
if guess == randomnumber:
print()
print("Congratulations, you guessed my number!")
else:
guess = int(input("Guess again?"))
make_guess(guess)
print("GUESS MY NUMBER")
print()
max = int(input("Guess number between 1 and what?"))
randomnumber = random.randint(1, max)
guess = int(input("What is your best guess?"))
make_guess(guess)
print("My number was", randomnumber)
新代码:
import random
def make_guess(guess):
if randomnumber != guess:
guess = int(input("Guess again?"))
make_guess(guess)
else:
print()
print("Congratulations, you guessed my number!")
print("GUESS MY NUMBER")
print()
max = int(input("Guess number between 1 and what?"))
randomnumber = random.randint(1, max)
guess = int(input("What is your best guess?"))
make_guess(guess)
print("My number was", randomnumber)
我的 IDE(在本例中为 repl.it)给出了这个特殊警告。
它让我知道我是 reusing/redefining 一个不同范围(即函数内)的变量(在本例中为 guess
),这可能是个问题。
发出第二个警告是因为我使用 max
作为变量名,而 max
在 python 中有其他用途,主要用作 max
Built-in Function与列表和其他可迭代对象一起使用。如果您确实想使用内置函数,重新定义 max
也可能是一个问题。在这种情况下它不是,但是 IDE 有用地警告你,因为这不是一个可取的做法。
我想在这里尝试使用 != 而不是 =(通过切换 if
和 else
语句),以防我想添加一个 elif: 之后(可能是一个测试响应如果输入的猜测大于最大值)。
我不明白为什么它现在抛出 warning/error,或者那个警告是什么意思。
澄清一下,代码运行并且似乎工作正常,但我在 repl.it 中收到警告,我正在使用 write/run。
第 3 行def make_guess
它说 - Redefining name 'guess' from outer scope (line 21)
<=这是什么意思?
然后在第 21 行 max=int(input("Guess number between 1 and what?"))
它说 Redefining built-in 'max'
[虽然我猜这不是问题,因为如果我重命名该变量 maxi
它不会显示第 21 行的警告]
原代码:
import random
def make_guess(guess):
if guess == randomnumber:
print()
print("Congratulations, you guessed my number!")
else:
guess = int(input("Guess again?"))
make_guess(guess)
print("GUESS MY NUMBER")
print()
max = int(input("Guess number between 1 and what?"))
randomnumber = random.randint(1, max)
guess = int(input("What is your best guess?"))
make_guess(guess)
print("My number was", randomnumber)
新代码:
import random
def make_guess(guess):
if randomnumber != guess:
guess = int(input("Guess again?"))
make_guess(guess)
else:
print()
print("Congratulations, you guessed my number!")
print("GUESS MY NUMBER")
print()
max = int(input("Guess number between 1 and what?"))
randomnumber = random.randint(1, max)
guess = int(input("What is your best guess?"))
make_guess(guess)
print("My number was", randomnumber)
我的 IDE(在本例中为 repl.it)给出了这个特殊警告。
它让我知道我是 reusing/redefining 一个不同范围(即函数内)的变量(在本例中为 guess
),这可能是个问题。
发出第二个警告是因为我使用 max
作为变量名,而 max
在 python 中有其他用途,主要用作 max
Built-in Function与列表和其他可迭代对象一起使用。如果您确实想使用内置函数,重新定义 max
也可能是一个问题。在这种情况下它不是,但是 IDE 有用地警告你,因为这不是一个可取的做法。