You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python编写右向箭头程序时input()参数引发Syntax Error求助

Python右向箭头生成程序的语法错误解决

问题背景

需要编写一个生成5行右向箭头的Python程序,示例输入为* #,预期输出如下:

#
******##
******###
******##
      #

但编写第一行代码时就触发Syntax Error,怀疑是*和#的使用导致,且担心第二行代码会出现同样问题。

当前代码

base_char=input(*)         # line 1
head_char=input(#)         # line 2
                           # line 3
row1='      ' + head_char  # line 4
                           # line 5
print(row1)                # line 6

报错信息

base_char=input(*)
                 ^
syntax error: invalid syntax

错误原因与解决方案

1. 语法错误根源

input()函数的参数如果是提示文本,必须是字符串类型,需要用单引号或双引号包裹。原代码中直接写input(*)、input(#),Python会将*、#视为语法符号而非字符串,因此触发语法错误。

2. 输入逻辑优化

示例输入是一行内的两个字符(空格分隔),不需要两次调用input(),一次读取整行输入后拆分更符合需求。

修正后的完整代码

# 读取一行输入,拆分得到基础字符和箭头头部字符
base_char, head_char = input().split()

# 构造箭头的5行内容
row1 = '      ' + head_char
row2 = base_char * 6 + head_char * 2
row3 = base_char * 6 + head_char * 3
row4 = base_char * 6 + head_char * 2
row5 = '      ' + head_char

# 依次打印所有行
print(row1)
print(row2)
print(row3)
print(row4)
print(row5)

代码说明

  • 使用input().split()读取输入并按空格拆分,直接获取两个字符;
  • 利用字符串乘法*快速重复字符,构造箭头的重复部分;
  • 按预期格式拼接每行内容,最终输出符合要求的右向箭头。

内容的提问来源于stack exchange,提问作者David Wild

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:16:11