我有一个字符串,它包含一些整数,我想减去这些整数

问题描述

userin=input("enter a question")

示例问题/用户
我有 10 台,我把 3 台给了我的朋友我还剩多少台?

我想要做什么 = 从用户给定的字符串中找出整数并减去整数
结果 10-3 = 7

我需要以最简单的方式回答。这是一个高中(12 年级)项目。 我试过了

import re
ab=input("enter    ")
# \d is equivalent to [0-9].
p = re.compile('\d')
pr=p.findall(ab)
for i in pr:
    print(i,end="")

建议我使用其他最好的代码来完成相同的任务。 我也想减去它

解决方法

首先,您不需要单个数字,而是可以组合或多个数字的数字,因此您的正则表达式应该是 '\\d+'(不要忘记字符串 eats 反斜杠) r'\d+'

ab=input("enter    ")
# \d is equivalent to [0-9].
p = re.compile(r'\d+')
pr = p.findall(ab)
if len(pr) == 2:
    print(int(pr[0]) - int(pr[1]))
,

您也可以不使用正则表达式来解决它。字符串具有内置的 isdigit() 方法,可以帮助您:

userin=input("enter a question")

digits = [int(each) for each in userin.split() if each.isdigit()]
# -> [10,3]

result = digits[0] - digits[1]
# -> 7