CS - 第 6 週

Barbara Streisand
リリース: 2025-01-04 17:41:39
オリジナル
915 人が閲覧しました

CS- Week 6

パイソン

Python は、初心者にも業界の専門家にも最適な、使いやすく多用途なプログラミング言語です。
C とは異なり、Python はインタープリタ型言語であるため、プログラムを個別にコンパイルする必要はありません。代わりに、プログラムは Python インタープリターで実行されます。

C で書かれた「hello, world」というメッセージを表示するコードは、Python で次のように表現されます。

print("hello, world")
ログイン後にコピー
ログイン後にコピー

セミコロンやライブラリは必要ないことに注意してください。 Python では、C 言語ではより複雑なコードを比較的単純に実装できます。

Pythonでは変数宣言が簡略化されています。たとえば、C では、変数は int counter = 0; として定義できます。として発表されるPython では、変数の型を宣言する必要はありません: counter = 0.

Python では、データ型を指定する必要はなく、インタープリターは変数の値に基づいてデータ型を決定できます。 次のデータ型は Python で一般的に使用されます:


ブール
  • フロート
  • int
  • str
  • C のような long 型や double 型は Python には存在しません。 Python は、大きい数値と小さい数値にどのデータ型を使用するかを自ら決定します。
Python で使用されるその他のデータ型には次のものがあります。

範囲
  • リスト
  • タプル
  • 辞書
  • セット
  • これらのデータ型はそれぞれ C で実装できますが、Python にはより簡単な方法で実装する機能があります。

条件演算子


Python で条件演算子を使用する場合、括弧 - () はオプションです。

Python は、{} の代わりに

インデント

を使用します。
else if が C で使用される場合、Python では代わりに elif が使用されます。 If、elif、else 演算子の後にはコロンが続きます:


C で ||論理演算子

"or"
from cs50 import get_int

x = get_int("x ni kiriting: ")
y = get_int("y ni kiriting: ")

if x < y:
    print("x soni y sonidan kichik")
elif x > y:
    print("x soni y sonidan katta")
else:
    print("x soni y soniga teng")
ログイン後にコピー
ログイン後にコピー
は、Python では or に置き換えられます。

Python は char の代わりに str を使用するため、単一の文字または文字列を操作できます。

繰り返し演算子
from cs50 import get_string
s = get_string("Ma'lumotlar o'zgartirilishiga rozimisiz? ")

if s == "Y" or s == "y":
    print("Ha.")
elif s == "N" or s == "n":
    print("Yo'q.")
ログイン後にコピー
ログイン後にコピー

Python の反復演算子

(loops)

の構文は C と非常によく似ていますが、より単純で理解しやすいです。

while ループを使用して、メッセージ "meow":
を表示します。

print("hello, world")
ログイン後にコピー
ログイン後にコピー

for ループ:
を使用すると、上記のコードをさらに簡略化できます。

from cs50 import get_int

x = get_int("x ni kiriting: ")
y = get_int("y ni kiriting: ")

if x < y:
    print("x soni y sonidan kichik")
elif x > y:
    print("x soni y sonidan katta")
else:
    print("x soni y soniga teng")
ログイン後にコピー
ログイン後にコピー

Python はここの の値を自動的にインクリメントします。
上記のコードは次のように書くこともできます:

from cs50 import get_string
s = get_string("Ma'lumotlar o'zgartirilishiga rozimisiz? ")

if s == "Y" or s == "y":
    print("Ha.")
elif s == "N" or s == "n":
    print("Yo'q.")
ログイン後にコピー
ログイン後にコピー

このアプローチでは、コードがモジュール化されます。


リスト

List を使用すると、1 つの変数に多くの値を格納できます。インデックスを通じてリストの要素を参照できます。

i = 0
while i < 3:
    print("meow")
    i += 1
ログイン後にコピー

len() メソッドを使用して、リストの長さ、つまり要素の数を決定します。
sum() メソッドを使用して、数値で構成されるリストの要素の合計を計算します。

ループを使用してユーザーから値を取得できます:

for i in range(3):
    print("meow")
ログイン後にコピー

append メソッドはリストに新しい値を追加します。

Python でリスト内の値を検索するには、ループを使用するか、より短い方法を使用できます。

def main():
    meow(3)


def meow(n):
    for i in range(n):
        print("meow")


main()
ログイン後にコピー

in 演算子は、指定された値がリストに存在するかどうかを確認します。


辞書

辞書 は、検索プロセスを高速化するキーと値のペアです。

scores = [72, 73, 33]

# O'rtacha qiymatni topamiz
average = sum(scores) / len(scores)
print(f"Average: {average}")
ログイン後にコピー

people[name] は、辞書から対応する値を取得します。
辞書検索速度は通常 O(1) です。


コマンドライン引数

Python では、sys ライブラリを使用してコマンド ライン引数を使用できます。

from cs50 import get_int

# Foydalanuvchidan qiymatlarni kiritishni so'raymiz
scores = []
for i in range(3):
    score = get_int("Score: ")
    scores.append(score)

# O'rtacha qiymatni topamiz
average = sum(scores) / len(scores)
print(f"Average: {average}")
ログイン後にコピー

argv - 引数のリストが含まれており、その最初の要素はファイル名です。
すべての引数を表示します:

# Ismlar ro'yxati
names = ["Carter", "David", "John"]

# Foydalanuvchidan ism kiritishni so'raymiz
name = input("Name: ")

# Ro'yxatdan qidiramiz
if name in names:
    print("Topildi")
else:
    print("Topilmadi"
ログイン後にコピー

プログラムが終了した状態を示すために、特定の終了コード (終了ステータス)を使用します。

from cs50 import get_string

people = {
    "Carter": "+1-617-495-1000",
    "David": "+1-617-495-1000",
    "John": "+1-949-468-2750",
}

# Kiritilgan ismni qo'yxatdan qidiramiz
name = get_string("Name: ")
if name in people:
    print(f"Telefon raqam: {people[name]}")
else:
    print("Topilmadi")
ログイン後にコピー

sys.exit() は終了コード (たとえば、0 はプログラムが正常に完了したことを意味します).

を返します。

この記事では CS50x 2024 のソースを使用しています。

以上がCS - 第 6 週の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート