0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初心者のためのPython Tip #1-Input編

Last updated at Posted at 2022-09-08

はじめに

初めまして、Qiitaでの初投稿です。
Pythonプログラミングをしている皆さんもご存知の簡単なテクニックを記載します。
初心者向けの説明ですがたまに普通のエンジニアの方でも紛らわしい部分も探っていきます。
(日本人ではないので、日本語の間違いは指摘してください。)

Input(入力)

入力はこれが基本ですよね。

Input.py
a = input() # Stringで入力
_list = input().split() # string type listで入力
a, b = input().split() # a, bで分けて入力

Q: それならInt型で入力してもらうにはこうすれば良い?

Int_wrong.py
A, B = int(input().split())

A:  Int型で入力を受けても、list型にすぐ変換できませんので、このコードは機能しません。
この時はmapを使用します。mapは基本的に適用する関数、使用できる資料のタイプを指定します。

Int_correct.py
A, B = map(int, input().split())

Q:  では、listを生成するなら、このように作成すればいいでしょうね?

Int_list_map.py
_list = [*map(int, input().split())]
_list = list(map(int, input().split()))

A:  Pythonはリストを簡単に、短く一行にすることができます。
list comprehensionは反復と条件、宣言と割り当てを一行で解決できるPythonの文法です。
[(変数の活用 "i*2のような")for (変数の名前)in (巡回"range, setのような見つけることができるもの")]

それで、Int型Listはこのように作ることができます。

Int_list_comp.py
_list = [int(x) for in input().split()] "Int_list_map.pyと同じです!"

list comprehensionの内容はかなり多いので、後でまとめて他の投稿で説明します。
一方、Pythonは変数を使用するときに独特な使用方法があります。
PackingUnpackingというものです。

Packing_n_Unpacking.py
numbers = 1,2,3,4,5 # numbers = (1,2,3,4,5) / Packing
a,b,c,d,e = numbers # Unpacking

皆さんもご存知のようにPacking/Unpackingは、
TupleParameterも可能で_を通じて除外したり、範囲の指定ができます。
これを少し応用すれば数を入力してもらう時、前と後の入力を別々に受け取ることができます。

Packing_n_Unpacking.py
First, *Middle, Last = map(int, input().split())
# Input -> 1, 2, 3, 4, 5
# Output -> 1 [2, 3, 4] 5

おわりに

Pythonはライブラリーや文法が簡単で手軽ですが、その分機能が多くテクニックが必要な言語だと思います。
私も初心者なので一緒に成長することが出来たらと思います!

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?