为什么';这个代码不起作用吗?我只是在尝试切片。(在python中)

为什么';这个代码不起作用吗?我只是在尝试切片。(在python中),python,slice,Python,Slice,当我输入这段代码时,切片的工作方式有一个错误…它不允许我输入它,而且它总体上无法工作 verb_1 = raw_input("Enter a word") verb_2 = verb_1.lower() verb_2_ending = verb_2[-2:] if verb_2_ending == "ar": ar_verb = raw_input("you've chosen an AR verb. What tense would you like") elif verb_2_en

当我输入这段代码时,切片的工作方式有一个错误…它不允许我输入它,而且它总体上无法工作

verb_1 = raw_input("Enter a word")
verb_2 = verb_1.lower()
verb_2_ending = verb_2[-2:]
if verb_2_ending == "ar": 
    ar_verb = raw_input("you've chosen an AR verb. What tense would you like")
elif verb_2_ending == "er":
    er_verb = raw_input("you've chosen an ER verb. What tense would you like")
else :
    ir_verb = raw_input("you've chosen an IR verb. What tense would you like")

if ar_verb == "subjunctive":
    subject_1 = raw_input("What is the subject")
elif  ar_verb == "present":
    subject_2 = raw_input("What is the subject")
else :
    subject_3 = raw_input("What is the subject")
产生以下错误:

Enter a word : hablar 
Traceback (most recent call last): 
File "<stdin>", line 4, in <module> 
  TypeError: unsupported operand type(s) for -: 'str' and 'str' 
输入一个单词:hablar
回溯(最近一次呼叫最后一次):
文件“”,第4行,在
TypeError:-:“str”和“str”的操作数类型不受支持

我相信你要找的是切片而不是减法,特别是在第3行

当我在空闲状态下运行您粘贴在这里的代码时,它工作正常,这是因为else语句应该处理来自用户输入的任何类型错误。
但是,您可以阅读更多关于字符串和如何切片的内容。试试这个:

你需要解释“不起作用”是什么意思。你收到错误信息了吗?如果是,是什么?程序没有做您希望它做的事情?这与减法有什么关系?在TypeError:unsupported Operator type(不支持的操作数类型)中输入一个单词:hablar Traceback(最近一次调用):File“”,第4行对于-:'str'和'str'当我点击enter时,它是这样说的。你还没有定义你的实际问题是什么,但是如果你选择了一个ER动词,那么你就永远不会真正设置ar_动词变量,这就是你在第二个条件语句块中检查的。代码非常不完整,您应该完成代码,然后发布任何问题。@user2387706--您在上面粘贴的代码中不会出现此错误(只有一个“
-
”,它没有执行减法)。我认为您还存在一些其他错误(例如,
ar_动词的潜在
namererror
),但这不会导致您描述的类型错误。根据使用的Python类型,字符串行为会有一些变化。Python3的最新教程和Python2的最新教程是