第五章—if語句

来源:https://www.cnblogs.com/liuhaier/archive/2018/04/22/8909522.html
-Advertisement-
Play Games

5-1 條件測試 :編寫一系列條件測試;將每個測試以及你對其結果的預測和實際結果都列印出來。你編寫的代碼應類似於下麵這樣: car = 'subaru' print("Is car == 'subaru'? I predict True.") print(car == 'subaru') print ...


5-1 條件測試 :編寫一系列條件測試;將每個測試以及你對其結果的預測和實際結果都列印出來。你編寫的代碼應類似於下麵這樣:

car = 'subaru'

 print("Is car == 'subaru'? I predict True.")

 print(car == 'subaru')    

print("\nIs car == 'audi'? I predict False.")

 print(car == 'audi')

#詳細研究實際結果,直到你明白了它為何為True 或False 。 

#創建至少10個測試,且其中結果分別為True 和False 的測試都至少有5個。 

1 car = 'subaru'
2 print("Is car == 'subarur'? I predict True.")
3 print(car == 'subaru')
4 
5 print("\nIs car == 'audi'? I predict False")
6 print(car == 'audi')

輸出:

1 Is car == 'subarur'? I predict True.
2 True
3 
4 Is car == 'audi'? I predict False
5 False

5-2 更多的條件測試:你並非只能創建10個測試。如果你想嘗試做更多的比較,可再編寫一些測試,並將它們加入到conditional_test.py中。對於下麵列出的各種測試,至少編寫一個結果為True和False的測試。

#檢查兩個字元串相等不相等。

#使用函數lower()的測試。

#檢查兩個數字相等、不等、大於、小於、大於等於和小於等於。

#使用關鍵字and和or的測試。

#測試特定的值是否包含在列表中。

#測定特定的值是否未包含在列表中。

 1 str1='aa'
 2 str2='bb'
 3 print(str1==str2)
 4 print(str1!=str2)
 5 name1='Ada'
 6 print(name1.lower()=='ada')
 7 num1=5
 8 num2=8
 9 print(num1==num2)
10 print(num1!=num2)
11 print(num1>num2)
12 print(num1<num2)
13 print(num1>=num2)
14 print(num1<=num2)
15 print(num1>=2 and num2>=2)
16 print(num1<=6 or num2<=6)
17 info=['a','b','c']
18 print('a' in info)
19 print('d' not in info)

輸出:

 1 False
 2 True
 3 True
 4 False
 5 True
 6 False
 7 True
 8 False
 9 True
10 True
11 True
12 True
13 True

 

5-3  外星人顏色#1 :假設在游戲中剛射殺了一個外星人,請創建一個名為alien_color 的變數,並將其設置為'green' 、'yellow' 或'red' 。

 #編寫一條if 語句,檢查外星人是否是綠色的;如果是,就列印一條消息,指出玩家獲得了5個點。

#編寫這個程式的兩個版本,在一個版本中上述測試通過了,而在另一個版本中未通過(未通過測試時沒有輸出)。

1 alien1="green"
2 if alien1=="green":
3     print("You get 5 point because you killed  an alien.")
4 alien2="red"
5 if alien2=="green":
6     print("You get 5 point because you killed  an alien.")

輸出:

You get 5 point because you killed  an alien.

5-4 外星人顏色#2 :像練習5-3那樣設置外星人的顏色,並編寫一個if-else 結構。

 #如果外星人是綠色的,就列印一條消息,指出玩家因射殺該外星人獲得了5個點。

 #如果外星人不是綠色的,就列印一條消息,指出玩家獲得了10個點。

 #編寫這個程式的兩個版本,在一個版本中執行if 代碼塊,而在另一個版本中執行else 代碼塊。

 1 alien1="green"
 2 if alien1=="green":
 3     print("You get 5 point because you killed  an alien.")
 4 else :
 5     print("You get 10 point.")
 6 alien2="red"
 7 if alien2=="green":
 8     print("You get 5 point because you killed  an alien.")
 9 else :
10     print("You get 10 point.")

輸出:

1 You get 5 point because you killed  an alien.
2 You get 10 point.

 

5-5  外星人顏色#3 :將練習5-4中的if-else 結構改為if-elif-else 結構。

 #如果外星人是綠色的,就列印一條消息,指出玩家獲得了5個點。

 #如果外星人是黃色的,就列印一條消息,指出玩家獲得了10個點。

 #如果外星人是紅色的,就列印一條消息,指出玩家獲得了15個點。

 #編寫這個程式的三個版本,它們分別在外星人為綠色、黃色和紅色時列印一條消息。

 

 1 alien='green'
 2 if alien =='green':
 3     print('You get 5 point.')
 4 elif alien =='yellow':
 5     print('You get 10 point.')
 6 else :
 7     print('You get 15 point.')
 8 
 9 alien2='yellow'
10 if alien2=='green':
11     print('You get 5 point.')
12 elif alien2=='yellow':
13     print('You get 10 point.')
14 else:
15     print('You get 15 point.')
16 
17 alien3='red'
18 if alien3=='green':
19     print('You get 5 point.')
20 elif alien3=='yellow':
21     print('You get 10 point.')
22 else :
23     print('You get 15 point.')

輸出:

You get 5 point.
You get 10 point.
You get 15 point.

5-6 人生的不同階段 :設置變數age 的值,再編寫一個if-elif-else 結構,根據age 的值判斷處於人生的哪個階段。

 # 如果一個人的年齡小於2歲,就列印一條消息,指出他是嬰兒。

 # 如果一個人的年齡為2(含)~4歲,就列印一條消息,指出他正蹣跚學步。

 #如果一個人的年齡為4(含)~13歲,就列印一條消息,指出他是兒童。

 #如果一個人的年齡為13(含)~20歲,就列印一條消息,指出他是青少年。

 # 如果一個人的年齡為20(含)~65歲,就列印一條消息,指出他是成年人。

 # 如果一個人的年齡超過65(含)歲,就列印一條消息,指出他是老年人。

 1 age=25
 2 if age<2:
 3     print("He is a baby. ")
 4 elif age>=2 and age <4:
 5     print("He is learning how to walk. ")
 6 elif age>=4 and age<13:
 7     print("He is a child. ")
 8 elif age>=13 and age <20:
 9     print("He is a young man. ")
10 elif age >=20 and age<65:
11     print("He is an adult. ")
12 else :
13     print("He is an old man. ")

輸出:

1 He is an adult.

5-7 喜歡的水果 :創建一個列表,其中包含你喜歡的水果,再編寫一系列獨立的if 語句,檢查列表中是否包含特定的水果。

 #將該列表命名為favorite_fruits ,併在其中包含三種水果。

 #編寫5條if 語句,每條都檢查某種水果是否包含在列表中,如果包含在列表中,就列印一條消息,如“You really like bananas!”。 

 1 favorite_fruits=['apple','banana','orange']
 2 if 'apple' in favorite_fruits:
 3     print('You really like apples!')
 4 if 'banana' in favorite_fruits:
 5     print('You really like bananas!')
 6 if 'orange' in favorite_fruits:
 7     print('You really like oranges!')
 8 if 'grape' in favorite_fruits:
 9     print("You really like grapes.")
10 if 'pear' in favorite_fruits:
11     print('You really like pears.')

輸出:

1 You really like apples!
2 You really like bananas!
3 You really like oranges!

5-8 以特殊方式跟管理員打招呼 :創建一個至少包含5個用戶名的列表,且其中一個用戶名為'admin' 。想象你要編寫代碼,在每位用戶登錄網站後都列印一條問 候消息。遍歷用戶名列表,並向每位用戶列印一條問候消息。

 #如果用戶名為'admin' ,就列印一條特殊的問候消息,如“Hello admin, would you like to see a status report?”。

 #否則,列印一條普通的問候消息,如“Hello Eric, thank you for logging in again”。

1 usernames=['admin','ada','ava','peter','Marry']
2 for username in usernames:
3     if username=='admin':
4         print("Hello admin,would you like to see a status report?")
5     else:
6         print('Hello '+username+',thank you for loging in again.')

輸出:

1 Hello admin,would you like to see a status report?
2 Hello ada,thank you for loging in again.
3 Hello ava,thank you for loging in again.
4 Hello peter,thank you for loging in again.
5 Hello Marry,thank you for loging in again.

5-9 處理沒有用戶的情形 :在為完成練習5-8編寫的程式中,添加一條if 語句,檢查用戶名列表是否為空。

 #如果為空,就列印消息“We need to find some users!”。

 #刪除列表中的所有用戶名,確定將列印正確的消息。

1 usernames=[]
2 if usernames:
3     for username in usernames:
4         if username=='admin':
5             print("Hello admin,would you like to see a status report?")
6         else:
7             print('Hello '+username+',thank you for loging in again.')
8 else:
9     print("We need some users.")

輸出:

We need some users.

5-10 檢查用戶名 :按下麵的說明編寫一個程式,模擬網站確保每位用戶的用戶名都獨一無二的方式。

 # 創建一個至少包含5個用戶名的列表,並將其命名為current_users 。

 #再創建一個包含5個用戶名的列表,將其命名為new_users ,並確保其中有一兩個用戶名也包含在列表current_users 中。

 #遍歷列表new_users ,對於其中的每個用戶名,都檢查它是否已被使用。如果是這樣,就列印一條消息,指出需要輸入別的用戶名;否則,列印一條消息,指 出這個用戶名未被使  用。 確保比較時不區分大消息;換句話說,如果用戶名'John' 已被使用,應拒絕用戶名'JOHN' 。

1 current_users=['a','b','c','d','e','h']
2 new_users=['A','b','f','g','p']
3 for new_user in new_users :
4     if new_user.lower() in current_users:
5         print("You should print other name.")
6     else :
7         print("This name can use.")

輸出:

1 You should print other name.
2 You should print other name.
3 This name can use.
4 This name can use.
5 This name can use.

5-11  序數 :序數表示位置,如1st和2nd。大多數序數都以th結尾,只有1、2和3例外。

 #在一個列表中存儲數字1~9。

 # 遍歷這個列表。 

 #在迴圈中使用一個if-elif-else 結構,以列印每個數字對應的序數。輸出內容應為1st 、2nd 、3rd 、4th 、5th 、6th 、7th 、8th 和9th ,但每個序 數都獨占一行。

1 for value in range(1,10):
2     if  value ==1:
3         print("1st")
4     elif value==2:
5         print("2nd")
6     elif value==3:
7         print("3rd")
8     else :
9         print(str(value)+"th")

輸出:

1st
2nd
3rd
4th
5th
6th
7th
8th
9th

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 再次整理了一下這個日誌收集系統的框,如下圖 這次要實現的代碼的整體邏輯為: 完整代碼地址為: https://github.com/pythonsite/logagent etcd介紹 高可用的分散式key-value存儲,可以用於配置共用和服務發現 類似的項目:zookeeper和consul 開 ...
  • Java中的IO流 分類 根據流的方向:輸入流和輸出流 根據讀取文字的大小:位元組流和字元流(位元組按照位元組讀取,讀取中文容易亂碼,字元流按照字元讀取,通常用於讀取中文) 根據讀取的方式:節點流和緩存流 分類 根據流的方向:輸入流和輸出流 根據讀取文字的大小:位元組流和字元流(位元組按照位元組讀取,讀取中文容 ...
  • 一、基礎概念 抽象事物,是若沒有具體的信息可以描述這個事物,這個事物可以稱為抽象事物。 抽象類,是不斷的向上抽取而來。抽取方法聲明而不確定具體的方法內容。由不同的子類來完成具體的方法內容。 (一)抽象類的特點: 1、抽象方法沒有方法體,必須由抽象關鍵字abstract來修飾。 1、抽象方法一定是存在 ...
  • ### 消息中間件 ### **消息中間件** 1. 消息中間件的概述 2. 消息中間件的應用場景(查看大綱文檔,瞭解消息隊列的應用場景) * 非同步處理 * 應用解耦 * 流量削峰 * 消息通信 ### JMS消息服務 ### **JMS的概述** 1. JMS消息服務的概述 2. JMS消息模型 ...
  • 字元串(str):(不可變類型數據) 雙引號或者單引號中的數據。(不能換行) 三個引號中的數據可以換行。下標、切片、步長 下標就是索引 格式:變數名[ ] 【從做往右預設從0開始,從右往左預設從-1開始】(正負數都可以取值) 切片:對操作的對象截取其中一部分的操作(正負數都可以切,預設從左往右) 切 ...
  • 上一篇我們已經初步的構建起了一個學生管理系統的模型,現在接著來繼續完善它吧。 1、上傳圖片/文件等資源 有時候需要添加一些附件,例如,新生剛入學,大家相互之間還不熟悉,希望能通過照片來加深印象,並且方便教學管理。 首先,對demo/urls.py文件進行改造,給urlpatterns添加static ...
  • 一.http協議 二.hibernate緩存模式,級別;Hibernate和mybatis的區別和優缺點 三.SQL優化經驗 四.分散式集群和Redis 五.Spring Aop,動態代理; 六.多線程安全問題,多線程實現 thread local 一.HTTP協議(HyperText Transf ...
  • 最近在客戶項目上剛好遇到一個問題,項目需求是要獲取某台機床的實時狀態,問題點剛好就在於該機床不是傳統意義上的數控機床,也不是PLC控制器,只有一個上傳下載程式文件的應用程式,上面剛好有幾個按鈕可以大概判斷當前工作狀態,轉眼一想,是否可以實時獲取幾個按鈕的狀態,從而簡單分析下就確定機床加工狀態。 說乾 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...