質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

181閲覧

ある一定の文字列への変換方法

yuu2

総合スコア9

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/07/13 15:28

前提・実現したいこと

入力された文字列をある一定のフォーマットに変換したい、

"SET 10 20" → "SET(10,20)"
"ADD 10" → "ADD(10)"

文字列を関数名と引数のみの文字列から、"()" や","の付いた関数を使用する為の文字列に変換したいです。

該当のソースコード

PYTHON3 #入力値 3 SET 1 10 SET 2 20 ADD 40 ーーーーーーーーーーーーーーーー n = int(input()) for line in range(n): line = input() print(line)

試したこと

replace,format、translate関数等を使用したがどうしても上手くいかない。
" "を置換するという考え方自体が間違っているのかもしれませんが助言を頂きたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

二番目以降の引数を,で連結すれば良いです。

Python

1src = [['SET', '1', '10'], ['SET', '2', '20'], ['ADD', '40']] 2 3# 4# 5dst = [] 6for op, *val in src: 7 dst.append( 8 '{0}({1})'.format(op, ','.join(val)) 9 ) 10 11for elem in dst: 12 print(elem)

実行結果 Wandbox

SET(1,10) SET(2,20) ADD(40)

入力の受け取り方はご自身で考えてみてください。

ついでに

" "を置換するという考え方自体が間違っているのかもしれませんが

不可能というわけではないですよ。

Python

1>>> 'SET 1 10'.replace(' ', '(', 1).replace(' ', ',') + ')' 2'SET(1,10)'

ただとにかく汎用性に乏しいので、お勧めは全くしないです。

投稿2018/07/13 15:36

編集2018/07/13 16:34
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問