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

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

ただいまの
回答率

90.50%

  • Python

    8010questions

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

  • Python 3.x

    6420questions

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

  • Python 2.7

    1267questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

python 一行空白の空け方

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 952

revoiot

score 116

ある問題を悩んでも悩んでも解けなかったため、ここで質問させていただくことにしました。問題は以下になります。

入力は標準入力にて以下のフォーマットで与えられます。

a_0 a_1 a_2 ... a_9
s
t

1 行目には、変換対応表が与えられます。暗号化の際、i は a_i に変換されます。復号の時は、a_i は i に変換されます。
2 行目には暗号化すべきであるか復号すべきであるかを表す文字列 s が与えられます。s は "encode" もしくは "decode" です。"encode" の場合は暗号化、"decode" の場合は復号してください。
3 行目には暗号化もしくは復号すべき文字列 t が与えられます。
入力は合計で 3 行となり、入力値最終行の末尾に改行が1つ入ります。

入力例1

入力
8 1 4 7 2 3 9 5 6 0
encode
257

出力
435

入力例2

入力
8 3 7 1 2 5 6 0 9 4
decode
0728

出力
7240イメージ説明

自分なりに解いたものが、下の式になります。

まず私はディクショナリを使うことで、X[x]のように表記した際、勝手に数値が変換されて、代入されるようにしました。

ここで、一つの質問をさせていただきます。

標準入力がされる際、

A = 8 1 2 3 ...

F = 123... となります。(数字はランダム)

Aは一文字空白で入力されるのにも関わらず、Fは空白がありません。

実際にforループを使って各々出力した際は

Aは
8
1
2
3
と入力されますが、
Fは123と入力されてしまいます。

私は、AのようにFも出力させたいのですが、どのようにして、Fを一文字空白をあけさせればいいのかわかりません。大変恐れ入りますが、どなたかご教授願えませんでしょうか?

最後に、下記が私が書いたコードになります。
今回、ディクショナリを用いていますが、これが最善策な気がしません。より案があれば、そちらも教えていただきたいです。

X={0:8,1:1,2:4,3:7,4:2,5:3,6:9,7:5,8:6,9:0}
Y={8:0,1:1,4:2,7:3,2:4,3:5,9:6,5:7,6:8,0:9}
A = [int(i) for i in input().split()]
C = input()
F = [int(i) for i in input().split()]
for i in F:
print(i)

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Lhankor_Mhy

    2017/01/23 11:14

    補足願います。『A = 8 1 2 3 ... F = 123... となります。(数字はランダム) 』とありますが、ここでいうAとFは末尾コードのAとFでよろしいでしょうか。だとすると、『実際にforループを使って各々出力した際は』とありますが、Aは出力をされていないように思えます。

    キャンセル

  • revoiot

    2017/01/23 14:22

    はい、数字は違いますが、式は同じです。大変失礼いたしました。 for i in A:に書き換えた際、Aは上記のように出力されます。

    キャンセル

回答 1

checkベストアンサー

0

F = [int(i) for i in input()]
for i in F:
    print(i)


にすればいいかと思います。
ただ、問題にはi<10と書いていないように読めますので、その条件がない場合はこの方法ではダメでしょうね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/23 14:46

    ああ、a_9までの10文字固定なんですね。じゃあ、問題ないですね。

    キャンセル

  • 2017/01/23 14:51

    ご回答ありがとうございます。この場合、なぜ、split()を使うべきでないのか教えていただけないでしょうか?

    キャンセル

  • 2017/01/23 15:10

    http://docs.python.jp/3.5/library/stdtypes.html#textseq
    にあるとおり、文字列はもともとリストやタプルと同様にシーケンスであるからです。
    splitメソッドを使わずにリスト内包表記できますから、必要ないです。

    一方、Aの方は、デリミタ記号としてスペースがありますので、それを除去しなければいけませんから、splitメソッドが必要になります。

    キャンセル

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

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python

    8010questions

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

  • Python 3.x

    6420questions

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

  • Python 2.7

    1267questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。