包含.split()的int list出现语法错误

2024-09-30 08:22:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道为什么我会遇到这个语法错误,当我在pycharm中运行代码时,它工作得很好

我有:

import sys
import os.path
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

from DiceRolls import RandomDiceRoll

num = [int(n) for n in input("Enter Numbers: ").split(",")]
for n in num:
    print(RandomDiceRoll.diceRoll(n))

随机骰子会这样做:

^{pr2}$

现在,当我在pycharm中运行这个时,它工作得很好,并打印出我想要的结果。在

但是如果我用python从终端运行它脚本名.py,我知道:

Enter Numbers: 4 0 0 
Traceback (most recent call last):
  File "userEnter.py", line 9, in <module>
    num = [int(n) for n in input("Enter Numbers: ").split(",")]
  File "<string>", line 1
    4 0 0 
      ^

我觉得我在做一些我应该去做的事情,但我似乎找不到,任何帮助都会很棒!在


Tags: pathinpyimportforinputossys
3条回答

终端指向的是python2,改成python3,可以正常工作。在

问题是您的命令行使用的是python2而不是python3。在

你现在有两个选择

  • 使用python3执行脚本,如python3 scriptName.py
  • 将代码转换为py2(错误的替代方法),如num = [int(n) for n in raw_input("Enter Numbers: ").split(",")]

由于您没有使用,来分隔,所以也可以删除它并使用。在

我使用的是python2.7

代码看起来不错,我认为您输入了错误的输入,即没有,

代码:

num = [int(n) for n in raw_input("Enter Numbers: ").split(",")]

print "num:-", num

输出:

用户输入的值无效:

^{pr2}$

用户输入的有效值:

^{3}$

相关问题 更多 >

    热门问题