Pythonの研究ノート--Day02

Pythonの研究ノート--Day02

今日は、Pythonを学ぶための日であり、かつコンテンツが短い中で、完成するだろうやっている、昨日以上になります。

変数と型

プログラムの設計では、我々は、キャリアとして、データを格納する変数を使用します。変数の値の読み取りまたは変更することができ、合計は、全ての計算および制御の基礎であるメモリに格納されます。データは、異なるタイプのデータが格納されている定義の異なるタイプを区別する必要があるように、などの数値、テキスト、画像、オーディオ、ビデオ、データなどの様々な種類の様々なを処理することができます。

Pythonのデータ型:

  • デジタル:
    • 整数:長整数として表さint型は、ロングタイプがpython2が、このタイプは、例えば、のpython3のint型として組み込まれます。1,123,714
    • フロート:float型、小数点以下の様々な科学的表記の小数点の位置がそれほど10進浮動小数点数こと、変更することができるからです。例えば:2.1,123.456,2.12e4
    • 複数種類:複合型、複合型、である、我々は複数を使用しますが、虚部によってi置き換えられj、たとえば、:3+4j
    • ブール:bool型、のみTrueまたはFalse、最初の文字大文字にまで注意を払います
  • 文字列:文字列型、単一または二重引用符で任意の文字をバックスラッシュを使用することができる\例えば、特殊文字をエスケープ"abc",'haha'
  • リスト:リストは、Pythonは最も頻繁に使用されるデータ型です。要素型の一覧は、数値、文字列として、同じにすることはできません、リストは彼の素子として用いることができ、要素は使用を繰り返すことができ[]、角括弧内に書き込まれたデータ要素を、コンマ要素で区切り、リストには、インデックスにもすることができ含まれていそれは、例えば、傍受されています。[1, "haha", [1, 2, 3]]
  • タプル:同様タプル、およびデータ要素のリスト要素は、繰り返すことができる修飾されたタプル要素が書き込まれることができることを除いて、同一でなくてもよい()、構成要素は、カンマで区切られました。例えば:(1, 1.23, "abc")
  • コレクション:セット、および同様のリストが、データ要素を繰り返すことはできません、基本的な機能は、テストの会員にあり、重複要素を削除します。あなたは、中括弧を使用することができます{}またはset()空のセットを作成し使用する必要があります。注集約関数を作成するset()代わりに{}するので、{}空の辞書を作成するために使用されます。例えば:{1, 2, 3}
  • 辞書:辞書、保存されたキーと値のペア、ランダムキー、および不変の、ユニークキーとが格納されている必要があります。例えば:{'a': 1, 'b': 2', 'c': 3}

変数の命名

各変数は、その名前を持つ必要があり、我々はイタリアを見るために知られているという名前の変数名にそれを行うと、特定の仕様を持っている必要があります。

  • 変数名は文字、数字、アンダースコアで構成されて、数字で始まることはできません
  • 大文字と小文字を区別し、大文字Aと小文字は、a二つの異なる変数です
  • システムは、変数名として予約語とキーワードを使用していません
  • 小文字、単語が複数接続されていてもよい下線を引きました

変数

次に、小型のいくつかの簡単な例は、変数の定義と使用

例1:変数の代入、印刷およびそのタイプを印刷

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽


def main():
    a = 1   # 整型
    b = 2.123   # 浮点型
    c = "我是c"   # 字符串型
    d = False   # 布尔型
    e = 1 + 3j  # 复数型
    num_list = [a, b, e, [2, 4, 123]]   # 列表
    variable_tuple = (a, b, c, d, e, num_list) # 元组
    variable_set = {a, b, a, 1, c, d}    # 集合
    score_dict = {'小明': 12, '张三': 34, '小红': 23} # 字典
    print(a)
    print("a的类型是:", type(a))
    print(b)
    print("b的类型是:", type(b))
    print(c)
    print("c的类型是:", type(c))
    print(d)
    print("d的类型是:", type(d))
    print(e)
    print("e的类型是:", type(e))
    print(num_list)
    print("num_list的类型是:", type(num_list))
    print(variable_tuple)
    print("variable_tuple的类型是:", type(variable_tuple))
    print(variable_set)
    print("variable_set的类型是:", type(variable_set))
    print(score_dict)
    print("score_dict的类型是:", type(score_dict))


if __name__ == '__main__':
    main()

上記の例を使用して、このtype()関数は、渡されたパラメータの種類を確認することです。

実施例2:デジタル演算

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽


def main():
    a = 13
    b = 21
    c = 0
    print(a + b)
    print(a - b)
    print(a / b)
    print(a * b)
    print(b // a)
    c += a
    print("c += a", c)
    c -= b
    print("c -= a", c)
    c *= a
    print("c *= a", c)
    c /= b
    print("c /= a", c)
    c //= a
    print("c //= a", c)
    print(c > a)
    print(c <= b)


if __name__ == "__main__":
    main()

実際には、我々は11を使用するようになり、将来的に他の事業者が、またもう話をする時間を持っていたその時があり、ちょうどここにいくつかの簡単な例を書きます

演算子

演算子 説明
[] [:] 添字、スライス
** 指数
~ + - ビット単位、記号
* / % // 乗算、除算、ダイ、割り切れ
+ - 加算、減算
>> << 右、左
& ビットAND
^ \| ビット単位のXORビット単位のOR
<= < > >= 以下で、以下より大きく、より大きい又は等しい、より
== != 等しい等しくありません、
is is not アイデンティティオペレータ
in not in 会員事業者
not or and 論理演算子
= += -= *= /= %= //= **= &= \|= ^= >>= <<= (コンポジット)代入演算子

練習

演習1

計算ボディ・マス・インデックス

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description: 体重指数的计算


def main():
    height = int(input("请输入你的身高(cm):").strip())
    weight = int(input("请输入你的体重(kg):").strip())
    # 计算标准体重
    standard_weight =  height- 105
    print("你的体重指数为:%.2f%%" % ((weight - standard_weight) / standard_weight * 100))


if __name__ == "__main__":
    main()

本明細書で使用される場合、入力()関数は、ストリップ()関数、INT()関数は、11を行う説明、入力()関数は、コンソールから入力された内容、および戻りタイプString、ストリップ()関数の値を読み出します文字列にスペースを除去し、INT()は、文字列の値の関数がint型に変換されるが、必須要求ストリング値は数値である必要があり、文字の文字が存在する例外は書き込み、プログラム終了、メソッドが発生した場合私たちの後ろに完璧ではない、より良い実装は言います。

英語II

通貨のコンバーター

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description: 人民币兑换美元


def main():
    count = int(input("请输入您要兑换的金额:").strip())
    print("这里是您兑换的%.3f美元" % (count / 6.851))


if __name__ == "__main__":
    main()

これは私が少し感動して恥ずかしい、良いシンプルなああですが、次の日はちょうど、まあPYTHON学ぶことがあまりにも複雑にするために始めて良いではありませんが、執筆のこの同じ方法は完璧ではない、私たちの後ろのより良い実装は言います。

もし-のelif、else文

Pythonで、構築する分岐構造を使用することができるifelif及びelseキーワードが使用:書き込むためifのコードの例体を、以下の用語が使用さ

a, b = 10, 20
    if a > b:
        print("a大于b")
    else:
        print("b大于a")

それはされてif-else組み合わせて使用します

a, b = 10, 20
    if a > b:
        print("a大于b")

これは分離されているif場合

    if a > b:
        print("a大于b")
    elif a < b:
        print("b大于a")

これがあるif-elifの組み合わせの場合

    a, b = 10, 20
    if a > b:
        print("a大于b")
    elif a == b:
        print("b等于a")
    else:
        print("a小于b")

これがあるif-elif-elseの組み合わせの場合

行使された場合

練習3

ログイン認証

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description:登录验证


def main():
    username = input("请输入用户名:").strip()
    password = input("请输入密码:").strip()
    if username == 'admin' and password == '123456':
        print("登录成功")
    else:
        print("用户名或密码错误")


if __name__ == "__main__":
    main()

コンソール入力場合admin123456時間が印刷され登录成功なく、これらの2つの入力が、印刷のときよりも、用户名或密码错误だから、回避タイピングエラーを自分のユーザー名とパスワードを覚えておく必要があります。私たちはもう一度、このコードは、サイクルの完了後に改善します。

練習4

変換結果、パーセンタイル- >階層
90点以上- >
89分まで80分- > B
70分79分- > C
60分69分- > D
60ポイント以下- > E

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description:成绩转换,百分制->等级制
"""
90分以上 --> A
80分~89分 --> B
70分~79分	--> C
60分~69分 --> D
60分以下 --> E
"""


def main():
    score = int(input("请输入你的成绩:").strip())
    if 90 <= score <= 100:
        grade = "A"
    elif 80 <= score < 90:
        grade = "B"
    elif 70 <= score < 80:
        grade = "C"
    elif 60 <= score < 70:
        grade = "D"
    elif 0 <= score < 60:
        grade = "E"
    else:
        print("请输入合理的成绩")
    print("你的成绩等级是%s" % grade)


if __name__ == "__main__":
    main()

循環

私たちはループ動作を使用して、我々は印刷機能を実行するために自分のタイミング1分をすることはできません、あり、このような繰り返しのように、我々は循環多くのことを行う必要があります回、文の出力の10倍はある、または印刷操作後に1分間隔ごとにプログラムを設定します。Pythonは一つであり、二つのアプローチがあり、環状構造に構成されているfor-in他は、円形のwhile円形。

-のためのループ

我々はこれを達成することができ、コンテナは同等の項目である必要があり、容器内の単一のアイテムを取ります:

items = [1, 2, 3, 4, 5, 6]
for item in items:
    print(item)

上記の例では、リストを横断され、あなたもこの方法を使用することができます。

items = [1, 2, 3, 4, 5, 6]
for i in range(len(items)):
    print(items[i])

この範囲は、固定機能デジタル・シーケンスによって生成され、次いでによってインデックス付け要素のリスト出力されるitems[i]本実施形態では、取得されたインデックスに基づいて要素のリストです。私たちは、次のような1から100までのすべての数字を見つけると、レンジ機能を通じて多くのことを行うことができます

total = 0
for i in range(1, 101):
    total += i
print(total)

パラメータは、範囲関数は3つのパラメータの合計を記入することができ、最初のものが第二の位置が終了した開始位置が、である、第3のステップは、例えば、range(1, 101, 2)奇数1-100開始位置との間に取得され、実際には、端部に位置が閉じ、左右の開区間[1、101)、101 1などを含むがありません。

whileループ

私たちがサイクルに正確に何回かわからない場合は、今回の推奨whileサイクルは、それがループ制御式またはブールブール値の条件は、あるTrue、サイクルが続くFalseループが終了します。いくつかの小さな例で見てみましょう。

小さなゲームの観覧、推測場合、終了ループ、おめでとうを印刷し、あなたが正しい、間違った憶測は継続します

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description:while循环

import random


def main():
    target_num = random.randint(0, 100)
    while True:
        num = input("请输入数字:").strip()
        if num.isdigit():
            num = int(num)
        if num > target_num:
            print("猜大了")
        elif num < target_num:
            print("猜小了")
        elif num == target_num:
            print("恭喜你答对了")
            break
        else:
            print("猜错了,请重来")


if __name__ == "__main__":
    main()

そこwhile Trueに無限ループがあり、によって正しく答えていないループ終了条件、breakそれ以外の場合はループの外ループ内を循環されて。

練習

練習の最適化

私たちが学んだので、実際には、文字や文字の入力は、プログラムが終了する場合には、エラーの可能性があり、プログラムのその部分に言及if裁判官は、このような状況の出来事を避けることができます。プラスwhile成功の計算までのサイクルタイムは、次のように

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description: 体重指数的计算优化


def main():
    while True:
        height = input("请输入你的身高(cm):").strip()
        weight = input("请输入你的体重(kg):").strip()
        if height.isdigit() and weight.isdigit():
            height = int(height)
            weight = int(weight)
            # 计算标准体重
            standard_weight =  height- 105
            print("你的体重指数为:%.2f%%" % ((weight - standard_weight) / standard_weight * 100))
            break
        else:
            print("请输入正确的格式!!!")


if __name__ == "__main__":
    main()

ここでは、ユーザーがするように指示され、無限ループを追加し、誤った時刻を入力し、再入力して、唯一の結果は、プログラムの終了前に計算されます。純粋番号、リターンからなる文字列型の変数かどうかを決定するための方法である方法、使用Isdigit True、ノーリターンはFalse、我々はデジタルに開始し、ループの外に、結果を印刷するとき、2つの入力が純粋と判断された場合に。

英語IIの最適化

英語IIの最適化と最優先することを学ぶように練習は、私はそれを書いていないが、コードは私のgithubの上で送信されますが、必要性がダウンしてクローンを作成することができます。

エクササイズ三の最適化

実際には、つまり、プラス1サイクル、ハッハッハ、それについて投稿し、私は自分が怠惰な疑問を投稿していません。

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description:登录验证优化


def main():
    while 1 == 1:
        username = input("请输入用户名:").strip()
        password = input("请输入密码:").strip()
        if username == 'admin' and password == '123456':
            print("登录成功")
            break
        else:
            print("用户名或密码错误")


if __name__ == "__main__":
    main()

私が使っているサイクリング条件1 == 1のアイデンティティを、その効果はTrue同じです。ログインに成功するまでは、そうでない場合は、ユーザー名とパスワードの入力を求めてきました。

練習5

99乗算表を印刷

#!usr/bin/python
# -*- coding: utf-8 -*-
# author: 李爽
# description:99乘法表


def main():
    i, j = 1, 1

    while i < 10:
        while j < i + 1:
            print("%d*%d=%d" % (i, j, i * j), end="\t")
            j += 1
        i += 1
        j = 1
        print()

    # for i in range(1, 10):
    #     for j in range(1, i + 1):
    #         print("%d*%d=%d" % (i, j, i * j), end="\t")
    #     print()


if __name__ == "__main__":
    main()

バージョンと2のバージョンは、印刷機能のデフォルトラッピングを達成する一方で、使用はend='\t'水平タブに印刷機能の終了を行うことができます。\tエスケープ文字は、水平タブの代表です。その他の文字は、その過去が来る、心配しないで、文字列を学ぶための転送時間に記載されています。

エピローグ

今日、コンテンツの多くは、これらの把握をしっかりする必要があり、この基礎の基礎はある、毎日学びます!

エラーがある場合、私の記事を見つけるか、何かいいアイデアは、私に連絡することができている場合は、私たちが一緒に進行一緒に勉強し、私のメールアドレスは[email protected]です

のは、これらの複数の操作を行いましょう!

公開された26元の記事 ウォンの賞賛2 ビュー2347

おすすめ

転載: blog.csdn.net/qq_42909545/article/details/93158170