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

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

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

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

Q&A

1回答

740閲覧

python 文字列の入力で数値の和を出す

taiyodesu

総合スコア4

Python

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

0グッド

0クリップ

投稿2020/11/05 05:22

前提・実現したいこと

下記の内容を入力してもらい、その二つの和を求めるコードを書きたいです。
イメージ説明
例:remubi(入力値) + sono(入力値) = civobi(出力値)

試したこと

リストを作成して、入力された文字列を後ろから取得することを試そうかと思いましたが、途中で断念しました...
indexにする必要があることは分かっていますが、そこまでに至るやり方がわかりませんでした。

python

1Lojban=['no','pa','re','ci','vo','mu','xa','ze','bi','so'] 2 3first_string=str(input("Enter the first string.")) 4second_string=str(input("Enter the second string")) 5first_number="" 6second_number="" 7 8for i in range(len(first_string)-2,-1-2):

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

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

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

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

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

dodox86

2020/11/05 05:36

> リストを作成して、入力された文字列を後ろから取得することを試そう なぜ、後ろから取得しようとしたのでしょうか。どのような意図がありましたか。 後ろから取得さえできれば、質問者さんがやりたいことが達成できますか。
meg_

2020/11/05 05:36

辞書を使ってはどうでしょうか?
taiyodesu

2020/11/05 05:43

失礼しました。後ろから取得する必要は特にありません。そうした方が値を取得しやすいと思っただけで、もっと単純なやり方がありましたら教えて頂けたら幸いです。
dodox86

2020/11/05 05:46

Pythonでのプログラムはいったん置いておいて、自分の頭で考えた場合に手順は思い付きますか。基本的にはそれが出発点だと思います。
taiyodesu

2020/11/05 05:59

入力された文字列を二文字ずつ後ろから取得 - > 取得した二文字ずつの文字列を数字に変え、それをもう一つの数値化された文字列との和を求める - > 最後にその和を文字列に戻す。 例: pareci - > pa re ci - > 123に変換 vomuxa - > vo mu xa -> 456に変換  123+456 -> 579 (和を求める) 579 - > muzeso に戻す。(これを出力) うまく説明できなくてすみません...
dodox86

2020/11/05 06:40

示された手順の粒度が荒いので細かい部分の手順を具体的にイメージされているかどうか分かりませんが、それをそのまま実直にプログラムにすればよいのです。まずは2文字ずつ切ってどの数字に当てはまるかを判定できるようにするところからでしょうか。自分で書けるようになるのを目指すなら、最初は最適な方法など効率は無視してとにかく動くようにした方がよいです。また、コードにする上で全般的に分からないのか、ある部分が分からないのかで回答も変わってきます。
guest

回答1

0

ググったら類似例は色々出てきます。
置換辞書を使用して文字列を置換する最も簡単な方法は?

上のサイトの例を利用して、たとえば以下のように書けます。(ただ、質問に少し丸投げ感があるので回答も少しぼかしています)

python3

1Lojban=['no','pa','re','ci','vo','mu','xa','ze','bi','so'] 2Crypt_dict = {k: v for k, v in enumerate(Lojban)} 3 4first_string="remubi" 5second_string="sono" 6 7def multipleCrypt(text, wordDict): 8# 暗号化 9 10first_number = multipleCrypt(first_string, Crypt_dict) 11second_number = multipleCrypt(second_string, Crypt_dict) 12sum_number = int(first_number) + int(second_number) 13print(f"{first_number} + {second_number} = {sum_number}") # -> 258 + 90 = 348 14 15def multipleDecrypt(text, wordDict): 16# 復号化(暗号化の逆) 17 18sum_string = multipleDecrypt(str(sum_number), Crypt_dict) 19print(sum_string) # -> civobi

投稿2020/11/05 05:41

jeanbiego

総合スコア3966

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問