有大佬可以帮忙看看菜鸟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