Python for循环查找字符并在该字符之前/之后添加子字符串 我对编程很感兴趣,我正试图通过滑铁卢大学的计算机科学界工作,并坚持做这个练习: 图中的代码是我到目前为止想到的

Python for循环查找字符并在该字符之前/之后添加子字符串 我对编程很感兴趣,我正试图通过滑铁卢大学的计算机科学界工作,并坚持做这个练习: 图中的代码是我到目前为止想到的,python,Python,该练习希望我从“+”字符前后提取子字符串,并使用for循环将它们添加到一起,但我不知道如何获取子字符串。到目前为止我已经试过了 print(S[0:len(char)]) 我建议: nums = S.split('+') print(int(nums[0])+int(nums[1])) 要获取“+”符号前后字符的子字符串,需要获取“+”字符当前位置之前和之后的字符 S = '12+5' for pos in range(len(S)): char = S[pos] if ch

该练习希望我从“+”字符前后提取子字符串,并使用for循环将它们添加到一起,但我不知道如何获取子字符串。到目前为止我已经试过了

print(S[0:len(char)])

我建议:

nums = S.split('+')
print(int(nums[0])+int(nums[1]))

要获取“+”符号前后字符的子字符串,需要获取“+”字符当前位置之前和之后的字符

S = '12+5'
for pos in range(len(S)):
    char = S[pos]
    if char == '+':
        sub_1 = S[:pos] # Get string before pos
        sub_2 = S[pos + 1:] # Get string after pos
        print('{} + {}'.format(sub_1, sub_2))

# Output: 12 + 5
但是,如果您只是想要最简单的解决方案,而没有考虑如何手动执行,那么正如其他人所说的那样,使用
.split()
可以使事情变得简单。因为
.split()
会将一个字符串拆分为一个由特定字符分隔的字符串列表

使用
.split()

S = '12+5'
split_S = S.split('+')  # Creates a list of ['12', '5']
# Make sure our list has 2 items in it to print
if len(split_S) == 2:
    print('{} + {}'.format(split_S[0], split_s[1])

# Output: 12 + 5

Epicdaface25是正确的,您可以简单地使用

nums = S.split('+')
print(int(nums[0])+int(nums[1]))
但是如果你需要为
循环使用
,卡尔的答案是更好的选择。然而,你不会

print('{} + {}'.format(sub_1, sub_2))

您需要打印
int(sub_1)+int(sub_2)
,让Python将两个数字相加并显示总和,而不是数学表达式。

想想那条语句在做什么。每次只需打印出字符串的第一个字符,因为
char
的长度是1。另外,请将您的全部代码放在问题中,而不是链接到图像。您是否已经听说过
str.split()
?或者您被告知通过在所有字符上使用循环来手动执行此操作?
print('{} + {}'.format(sub_1, sub_2))