如何在for循环中获取"i"作为全局变量?
How to get "i" in a for loop as a global variable?
我正在 Python 3 中编写计算器脚本,它从 for 循环中获取 3 个变量:A、B 和 C。这是为了因式分解多项式。
下面是包含 A、B 和 C 的脚本:
numbers = ['A', 'B', 'C']
for i in numbers:
try:
print(i)
i = int(input())
except:
print('Enter a whole number')
然后我尝试打印他们为 A 输入的内容乘以他们为 B 输入的内容。
但是由于 A、B 和 C 是在块范围内创建的,所以它向我发送了一个错误。
Traceback (most recent call last):
File "<string>", line 8, in <module>
NameError: name 'A' is not defined
有没有办法让 A、B 和 C 成为全局变量,即使它们在 for 循环中由“i”赋值?
你不是那样做的。您将输入变量存储在列表中,然后从列表中提取它们。
number = []
for name in 'ABC':
while True:
try:
i = int(input(name))
number.append(i)
break
except:
print('Enter a whole number.')
print( "Sum is", number[0] + number[1] + number[2] )
是的,我知道“求和”函数,但由于他没有告诉我们他想用这三个值做什么,这里展示了如何访问它们。
我正在 Python 3 中编写计算器脚本,它从 for 循环中获取 3 个变量:A、B 和 C。这是为了因式分解多项式。 下面是包含 A、B 和 C 的脚本:
numbers = ['A', 'B', 'C']
for i in numbers:
try:
print(i)
i = int(input())
except:
print('Enter a whole number')
然后我尝试打印他们为 A 输入的内容乘以他们为 B 输入的内容。
但是由于 A、B 和 C 是在块范围内创建的,所以它向我发送了一个错误。
Traceback (most recent call last):
File "<string>", line 8, in <module>
NameError: name 'A' is not defined
有没有办法让 A、B 和 C 成为全局变量,即使它们在 for 循环中由“i”赋值?
你不是那样做的。您将输入变量存储在列表中,然后从列表中提取它们。
number = []
for name in 'ABC':
while True:
try:
i = int(input(name))
number.append(i)
break
except:
print('Enter a whole number.')
print( "Sum is", number[0] + number[1] + number[2] )
是的,我知道“求和”函数,但由于他没有告诉我们他想用这三个值做什么,这里展示了如何访问它们。