有大佬可以帮忙看看菜鸟python入门问题吗?

有大佬可以帮忙看看菜鸟python入门问题吗?

def is_integer_string(s):

if not s.isdigit() and s[0]!='-':

return False

return int(s)==s

def print_hourglass(n,sym):

i=1

while n>=i**2:

print(''*(i-1)+sym*i*2)

print(''*(i-1)+sym*(i+1)*2)

i+=2

while i>0:

print(''*(i-1)+sym*i*2)

i-=2

print(n-i**2)

n=is_integer_string(input())

try:

n,sym=map(int,input().split())

except ValueError:

print("请输入一个数字")

print(print_hourglass(n,sym))

这串代码后

Traceback (most recent call last):

File "/tmp/a.py", line 20, in <module>

print(print_hourglass(n,sym))

NameError: name 'sym' is not defined. Did you mean: 'sum'?

这个sym的变量我该怎么修改


回答:

没搞明白要干啥, 盲猜写法

python">def is_integer_string(s):

if not s.isdigit() and (s[0] != '-' or not s[1:].isdigit()):

return False

return True

def print_hourglass(n, sym):

i = 1

while n >= i * i:

print(' ' * (i - 1) + sym * (i * 2))

print(' ' * (i - 1) + sym * ((i + 1) * 2))

i += 2

while i > 0:

print(' ' * (i - 1) + sym * (i * 2))

i -= 2

try:

n = input()

if is_integer_string(n):

n = int(n)

sym = input()

print_hourglass(n, sym)

else:

print("请输入一个整数")

except ValueError:

print("请输入一个整数")


回答:

同萌新,我觉得是sym变量定义在try块里面,最后一行代码访问不到,变量需要定义在try块外面。

以上是 有大佬可以帮忙看看菜鸟python入门问题吗? 的全部内容, 来源链接: utcz.com/p/939030.html

回到顶部