[Pythonの基本] day03-条件文(構文の場合)、複数の判断、ネストの場合、三眼演算子、アプリケーション:推測ゲーム

目標

  • 条件文の効果
  • 構文の場合
  • もし…そうでなければ…
  • 複数の判断
  • ネストされている場合

1.条件文を理解する

シナリオを想定します。

  • あなたはあなたの年齢でインターネットカフェに行ったことがありますか?
  • インターネットカフェに入るためにオンラインに行きたいとき、あなたは何をしなければなりませんか?(要点を検討する)
  • なぜスタッフにIDカードを渡すのですか?
  • 成人期を判断するだけですか?
  • 大人としてインターネットをサーフィンすることは可能ですか?あなたが大人でない場合、あなたはオンラインに行くことを許可されていませんか?

実際、ここでのいわゆる判断は条件文です。つまり、条件が確立される特定のコードが実行され、条件が確立されない場合はこれらのコードは実行されません

2.構文の場合

2.1構文

if 条件:
    条件成立执行的代码1
    条件成立执行的代码2
    ......

2.2クイックエクスペリエンス

if True:
    print('条件成立执行的代码1')
    print('条件成立执行的代码2')

# 下方的代码没有缩进到if语句块,所以和if条件无关
print('我是无论条件是否成立都要执行的代码')

実行結果は以下のとおりです。
ここに画像の説明を挿入

3.例:オンラインにする

需要分析:ユーザーの年齢が18歳以上、つまり成人であり、出力が「成人であり、オンラインに接続できる」場合。

3.1シンプルバージョン

age = 20
if age >= 18:
    print('已经成年,可以上网')

print('系统关闭')

3.2 Advanced Edition

新しい要件:ユーザーは自分の年齢を出力でき、システムは自分が成人であるかどうかを判断し、成人の場合は「あなたの年齢はユーザーが入力した年齢であり、あなたはすでに成人であり、オンライン化する"。

# input接受用户输入的数据是字符串类型,条件是age和整型18做判断,所以这里要int转换数据类型
age = int(input('请输入您的年龄:'))

if age >= 18:
    print(f'您的年龄是{age},已经成年,可以上网')


print('系统关闭')

四。もし…そうでなければ…

機能:条件が満たされている場合は、以下のコードを実行します。条件が満たされていない場合は、以下のコードを実行します。

思考:インターネットカフェの例は、大人であればインターネットに接続できますが、大人でない場合はどうなりますか?ユーザーがインターネットにアクセスできないと返信する必要がありますか?

4.1構文

if 条件:
    条件成立执行的代码1
    条件成立执行的代码2
    ......
else:
    条件不成立执行的代码1
    条件不成立执行的代码2
    ......

4.2実用版:インターネットカフェ

age = int(input('请输入您的年龄:'))

if age >= 18:
    print(f'您的年龄是{age},已经成年,可以上网')
else:
    print(f'您的年龄是{age},未成年,请自行回家写作业')

print('系统关闭')

注:条件が満たされ、一部のコードが実行された場合、それ以外の場合のコードは実行されません。

5、複数の判断

考え方:中国の法定労働年齢は18〜60歳です。つまり、18歳未満の場合、児童労働は違法です。18〜60歳の場合、法定労働年齢です。詳細60歳以上が法定定年です。

5.1構文

if 条件1:
    条件1成立执行的代码1
    条件1成立执行的代码2
    ......
elif 条件2
	条件2成立执行的代码1
    条件2成立执行的代码2
    ......
......
else:
    以上条件都不成立执行执行的代码

複数の判断をelseと組み合わせて使用​​することもできます。通常、elseはifステートメント全体の最後に配置され、上記の条件が当てはまらない場合に実行されるコードを示します。

5.2例:サービス年齢の判断

age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您的年龄是{age},童工一枚')
elif (age >= 18) and (age <= 60):
    print(f'您的年龄是{age},合法工龄')
elif age > 60:
    print(f'您的年龄是{age},可以退休')

拡張:age >= 18 and age <= 60に簡略化できます18 <= age <= 60

6、入れ子の場合

考える:バスに乗る:お金があればバスに乗れる、お金がなければバスに乗れない、バスに乗れば座れる、乗らない座席がありません、あなたは立っている必要があります。プログラムの書き方は?

6.1構文

if 条件1
	条件1成立执行的代码
    条件1成立执行的代码
    
    if 条件2
    	条件2成立执行的代码
        条件2成立执行的代码
    

注:条件2のifは、条件1が確立されたときに実行されるコードのインデント関係にもあります。

6.2例:バスに乗る

6.2.1バスに乗れるかどうかを判断する

"""
1. 如果有钱,则可以上车
    2. 上车后,如果有空座,可以坐下
    上车后,如果没有空座,则站着等空座位
如果没钱,不能上车
"""
# 假设用 money = 1 表示有钱, money = 0表示没有钱
money = 1
if money == 1:
    print('土豪,不差钱,顺利上车')
else:
    print('没钱,不能上车,追着公交车跑')

6.2.2座れるかどうかを判断する

"""
1. 如果有钱,则可以上车
    2. 上车后,如果有空座,可以坐下
    上车后,如果没有空座,则站着等空座位
如果没钱,不能上车
"""
# 假设用 money = 1 表示有钱, money = 0表示没有钱; seat = 1 表示有空座,seat = 0 表示没有空座
money = 1
seat = 0
if money == 1:
    print('土豪,不差钱,顺利上车')
    if seat == 1:
        print('有空座,可以坐下')
    else:
        print('没有空座,站等')
else:
    print('没钱,不能上车,追着公交车跑')

7.アプリケーション:推測ゲーム

需要分析:

  • ゲームに参加しているキャラクター

    • プレーヤー
      • 手動パンチ
    • コンピューター
      • ランダムパンチ
  • 勝つか負けるか

    • プレイヤーが勝ちます
    プレーヤー コンピューター
    結石 はさみ
    はさみ
    結石
    • ドロー
      • プレーヤーはコンピューターのパンチと同じようにパンチします
    • コンピューターが勝つ

ランダムアプローチ:

1. 导出random模块

2. random.randint(开始,结束) # 的到从开始到结束两个数字之间的一个随机整数

モジュールの具体的な内容と使用法については後で説明します

"""
提示:0-石头,1-剪刀,2-布
1. 出拳
玩家输入出拳
电脑随机出拳

2. 判断输赢
玩家获胜
平局
电脑获胜
"""

# 导入random模块
import random

# 计算电脑出拳的随机数字
computer = random.randint(0, 2)
print(computer)

player = int(input('请出拳:0-石头,1-剪刀,2-布:'))

# 玩家胜利 p0:c1 或 p1:c2 或 p2:c0
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0):
    print('玩家获胜')

# 平局:玩家 == 电脑
elif player == computer:
    print('平局')
else:
    print('电脑获胜')

8.三項演算子

三項演算子は、三項演算子とも呼ばれます。

構文は次のとおりです。

# 条件成立执行的表达式 if 条件 else 添加不成立执行的表达式1 if 条件 else2

クイックエクスペリエンス:

# 取出a和b之中的最大值
a = 1
b = 2

c = a if a > b else b
print(c)

実行結果:
ここに画像の説明を挿入
例2

'''
需求:有两个变量a,b,比较大小
    若a>b 执行 a-b ;否则执行 b-a
    
'''
a = 10
b = 6
c = a - b if a > b else b - a
print(c)

結果:
ここに画像の説明を挿入

総括する

  • ifステートメントの構文
if 条件:
    条件成立执行的代码
  • もし…そうでなければ…
if 条件:
    条件成立执行的代码
else:
    条件不成立执行的代码
  • 複数の判断
if 条件1:
    条件1成立执行的代码
elif 条件2:
    条件2成立执行的代码
else:
    以上条件都不成立执行的代码
  • ネストされている場合
if 条件1:
    条件1成立执行的代码
    if 条件2:
        条件2成立执行的代码
        ....

このセクションの内容は終わりました。迷わないように注意してください。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_38454176/article/details/112134160