Python 3.x Python作用域变量返回无
我正在尝试基于我正在创建的函数构建一个网格。我已经为Python 3.x Python作用域变量返回无,python-3.x,function,variables,Python 3.x,Function,Variables,我正在尝试基于我正在创建的函数构建一个网格。我已经为 grid1(number): D = ('-' * number) S = (' ' * number) H = print('+'+ D +'+' + D + '+') V = print('|'+ S + '|' + S + '|' '\n') print( H '\n' (V * number) + H '\n'+ (V * number) + H) 基本上,我正在尝试创建一个2 x 2的网格,
grid1(number):
D = ('-' * number)
S = (' ' * number)
H = print('+'+ D +'+' + D + '+')
V = print('|'+ S + '|' + S + '|' '\n')
print( H '\n' (V * number) + H '\n'+ (V * number) + H)
基本上,我正在尝试创建一个2 x 2的网格,当它第二次打印V变量,甚至下一次打印H时,变量返回为None。据我所知,我没有创建迭代器,因此仍然应该分配变量
是否缺少范围变量?我假设您希望将字符串分配给H和V,然后在下一个print语句中再次使用这些字符串。在这种情况下,您需要删除前两条
print
语句,只对变量赋值。对于其他一些修复,这将导致:
def grid1(number):
D = ('-' * number)
S = (' ' * number)
H = '+'+ D +'+' + D + '+'
V = '|'+ S + '|' + S + '|' '\n'
print( H + '\n' + (V * number) + H + '\n' + (V * number) + H)
这导致了例如:
>>> grid1(3)
+---+---+
| | |
| | |
| | |
+---+---+
| | |
| | |
| | |
+---+---+
print
不会返回任何内容,实际上None
。你能修复这个示例代码吗,它看起来完全崩溃了。我只想按顺序打印这些变量,但是第一次可以,第二次就不行了。我试图理解为什么,这样我可以修复代码。