python初心者です。
文字と数字が混合している以下のようなデータがあります。
3M5I31M
文字”I"の前についてる数字を取り出して33から引いた数字を出力したいです。
試したコードは
import re a = '3M5I31M' if "I" in a: matchI = re.findall(r'(\d+)I', a) intI = (int(x) for x in matchI) print(33 - intI) #TypeError: unsupported operand type(s) for +: 'generator' and 'int'
re.findallではlistとして出力されるとのことで、intに変換してから計算と思い
上記のようなコードを試しましたがうまくいきません。
このコードではintにうまく変換されてないのでしょうか?
間違っているところを教えてください。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー