没搞明白要干啥, 盲猜写法 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("请输入一个整数")