#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : cp3_3_3.py
# @Author: WRH
# @Date : 2021/2/6
# @Edition:Python3.8.6
# 分支語句嵌套
'''
當有多個條件需要滿足并且條件之間有遞進關系時,可以使用分支語句的嵌套。
其中,if子句、elif子句以及else子句中都可以嵌套if語句或者if-elif-else子句。
'''
# 我國的婚姻法規定,男性22歲為合法結婚年齡,女性20歲為合法結婚年齡。
# 是以如果要判斷一個人是否到了合法結婚年齡,首先需要使用雙分支結構判斷性别,再用遞進的雙分支結構判斷年齡,并輸出判斷結果。
sex = input("請輸入您的性别(M或者F):")
age = int(input("請輸入您的年齡(1-120):"))
if sex == 'M':
if age >= 22: # 注意縮進四個空格
print("到達合法結婚年齡") # 注意同樣要再縮進四個空格
else: # 注意此else語句與第二個if語句為同一級
print("未到合法結婚年齡")
else: # 注意此else語句與第一個if語句為同一級
if age >= 20:
print("到達合法結婚年齡")
else:
print("未到合法結婚年齡")
# 例3-7
# 編寫程式,從鍵盤輸入使用者名和密碼,要求先判斷使用者名再判斷密碼,如果使用者名不正确,則直接提示使用者名輸入有誤;
# 如果使用者名正确,則進一步判斷密碼,并給出判斷結果的提示。
username = input("請輸入您的使用者名:")
password = input("請輸入您的密碼:")
if username == "admin":
if password == "123456":
print("輸入正确,恭喜進入!")
else:
print("密碼有誤,請重試!")
else:
print("使用者名有誤,請重試!")
# 例3-8
# 編寫程式,開發一個小型電腦,從鍵盤輸入兩個數字和一個運算符,根據運算符(+、-、*、/)進行相應的數學運算,
# 如果不是這4種運算符,則給出錯誤提示。
first = float(input("請輸入第一個數字:"))
second = float(input("請輸入第二個數字:"))
sign = input("請輸入運算符号:")
if sign == '+':
print("兩數之和為:", first+second)
elif sign == '-':
print("兩數之差為:", first-second)
elif sign == '*':
print("兩數之積為:", first*second)
elif sign == '/':
if second != 0: # !=為不等于号
print("兩數之商為:", first/second) # 現實問題用計算機自動化解決時一定要把問題的分支想全面
else:
print("除數為0錯誤!")
else:
print("符号輸入有誤!")