Python編程:從入門到實踐——【作業】——第五章(if語句)


第五章作業

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 或Fal

    詳細研究實際結果, 直到你明白了它為何為True 或False 。
    創建至少10個測試, 且其中結果分別為True 和False 的測試都至少有5個。

5-2 更多的條件測試 : 你並非只能創建10個測試。 如果你想嘗試做更多的比較, 可再編寫一些測試, 並將它們加入到conditional_tests.py中。 對於下面列出的各種測
試, 至少編寫一個結果為True 和False 的測試。
        檢查兩個字符串相等和不等。
        使用函數lower( ) 的測試。
        檢查兩個數字相等、 不等、 大於、 小於、 大於等於和小於等於。
        使用關鍵字and 和or 的測試。
        測試特定的值是否包含在列表中。
        測試特定的值是否未包含在列表中。
答:

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

輸出:
Is car == ' subaru' ? I predict True. 
True

Is car == ' audi' ? I predict False. 
False

 

5-2 略

5-3 外星人顏色#1 : 假設在游戲中剛射殺了一個外星人, 請創建一個名為alien_color 的變量, 並將其設置為' green' 、 ' yellow' 或' red' 。
        編寫一條if 語句, 檢查外星人是否是綠色的; 如果是, 就打印一條消息, 指出玩家獲得了5個點。
        編寫這個程序的兩個版本, 在一個版本中上述測試通過了, 而在另一個版本中未通過(未通過測試時沒有輸出) 。
5-4 外星人顏色#2 : 像練習 5-3那樣設置外星人的顏色, 並編寫一個if-else 結構。
        如果外星人是綠色的, 就打印一條消息, 指出玩家因射殺該外星人獲得了5個點。
        如果外星人不是綠色的, 就打印一條消息, 指出玩家獲得了10個點。
        編寫這個程序的兩個版本, 在一個版本中執行if 代碼塊, 而在另一個版本中執行else 代碼塊。
5-5 外星人顏色#3 : 將練習 5-4中的if-else 結構改為if-elif-else 結構。
        如果外星人是綠色的, 就打印一條消息, 指出玩家獲得了5個點。
        如果外星人是黃色的, 就打印一條消息, 指出玩家獲得了10個點。
        如果外星人是紅色的, 就打印一條消息, 指出玩家獲得了15個點。
        編寫這個程序的三個版本, 它們分別在外星人為綠色、 黃色和紅色時打印一條消息。
5-6人生的不同階段 : 設置變量age 的值, 再編寫一個if-elif-else 結構, 根據age 的值判斷處於人生的哪個階段。
        如果一個人的年齡小於2歲, 就打印一條消息, 指出他是嬰兒。
        如果一個人的年齡為2(含) ~4歲, 就打印一條消息, 指出他正蹣跚學步。
        如果一個人的年齡為4(含) ~13歲, 就打印一條消息, 指出他是兒童。
        如果一個人的年齡為13(含) ~20歲, 就打印一條消息, 指出他是青少年。
        如果一個人的年齡為20(含) ~65歲, 就打印一條消息, 指出他是成年人。
        如果一個人的年齡超過65(含) 歲, 就打印一條消息, 指出他是老年人。
5-7 喜歡的水果 : 創建一個列表, 其中包含你喜歡的水果, 再編寫一系列獨立的if 語句, 檢查列表中是否包含特定的水果。
        將該列表命名為favorite_fruits , 並在其中包含三種水果。
        編寫5條if 語句, 每條都檢查某種水果是否包含在列表中, 如果包含在列表中, 就打印一條消息, 如“You really like bananas!”。

 答:5-3

alien_color = ['green']
if 'green' in alien_color:#這個green必須要有''啊
    print('The player gets 5 points.')
版本2 alien_color
= ['red'] if 'green' in alien_color: print('The player gets 5 points.'

 

 5-4

alien_color = ['green']
if 'green' in alien_color:#這個green必須要有''啊
    print('The player gets 5 points.')
else:
    print('The player gets 10 points.')


#版本2
alien_color = ['red']
if 'green' in alien_color:
    print('The player gets 5 points.')
else:
    print('The player gets 10 points.')

 

 

 

 5-5

alien_color = ['green']#其他兩個版本就是將green改一下
if 'green' in alien_color:
    print('The player gets 5 points.')
elif 'yellow' in alien_color:
    print('The player gets 10 points.')
elif 'red' in alien_color:
    print('The player gets 15 points.')

 

 

5-6

age = 25
if age <2:
    print('他是嬰兒。')
elif age <4:
    print('他正蹣跚學步。')
elif age < 13:
    print('他是兒童。')
elif age < 20:
    print('他是青少年。')
elif age < 65:
    print('他是成年人。')
else:
    print('他是老年人。')

 

 

 5-7略

5-8 以特殊方式跟管理員打招呼 : 創建一個至少包含5個用戶名的列表, 且其中一個用戶名為' admin' 。 想象你要編寫代碼, 在每位用戶登錄網站后都打印一條問
            候消息。 遍歷用戶名列表, 並向每位用戶打印一條問候消息。
            如果用戶名為' admin' , 就打印一條特殊的問候消息, 如“Hello admin, would you like to see a status report?”。
            否則, 打印一條普通的問候消息, 如“Hello Eric, thank you for logging in again”。
5-9 處理沒有用戶的情形 : 在為完成練習 5-8編寫的程序中, 添加一條if 語句, 檢查用戶名列表是否為空。
            如果為空, 就打印消息“We need to find some users!”。
            刪除列表中的所有用戶名, 確定將打印正確的消息。
5-10 檢查用戶名 : 按下面的說明編寫一個程序, 模擬網站確保每位用戶的用戶名都獨一無二的方式。
        創建一個至少包含5個用戶名的列表, 並將其命名為current_users 。
        再創建一個包含5個用戶名的列表, 將其命名為new_users , 並確保其中有一兩個用戶名也包含在列表current_users 中。
        遍歷列表new_users , 對於其中的每個用戶名, 都檢查它是否已被使用。 如果是這樣, 就打印一條消息, 指出需要輸入別的用戶名; 否則, 打印一條消息, 指
        出這個用戶名未被使用。
        確保比較時不區分大消息; 換句話說, 如果用戶名' John' 已被使用, 應拒絕用戶名' JOHN' 。
5-11 序數 : 序數表示位置, 如1st和2nd。 大多數序數都以th結尾, 只有1、 2和3例外。
      在一個列表中存儲數字1~9。
      遍歷這個列表。
      在循環中使用一個if-elif-else 結構, 以打印每個數字對應的序數。 輸出內容應為1st 、 2 nd 、 3rd 、 4 th 、 5th 、 6th 、 7 th 、 8th 和9th , 但每個序
      數都獨占一行。
答;5-8

users = ['admin','liming','zhangsan','lisi','wangshi']
for user in users:
    if user == 'admin':#這里忘了用引號,因為admin是個單字符
        print('Hello ' + user + ',would you like to see a status report?')
    else:#注意else的縮進要和if的一樣
        print('Hello ' + user +',thank you for logging in again')

 

5-9

users = []
if users:#此處我們進行了簡單檢查, 而不是直接執行for 循環
    for user in users:
        print('Hello ' + user + ',would you like to see a status report?')
    else:#注意else的縮進要和if的一樣
        print('Hello ' + user +',thank you for logging in again')
else:
    print('“We need to find some users!”')

輸出;
“We need to find some users!”

范的錯誤的

users = []
if user in users:
        print('Hello ' + user + ',would you like to see a status report?')
    else:#注意else的縮進要和if的一樣
        print('Hello ' + user +',thank you for logging in again')
else#此處都標紅了
    print('“We need to find some users!”')

 

 

 5-10

current_users = ['admin','liming','zhangsan','lisi','wangshi','douyu','jiangyin','maoanying']
new_users = ['ergou','lisi','shitou','admin','erya']
for new_user in new_users:
    if new_user in current_users:
        print(new_user + '已被使用,請需要輸入其他用戶名!')
    else:
        print(new_user + '未被使用')
#用沒有再print都無所謂啊

輸出:
ergou未被使用
lisi已被使用,請需要輸入其他用戶名!
shitou未被使用
admin已被使用,請需要輸入其他用戶名!
erya未被使用

 

 

5-11

錯誤的寫法;

numbers = list(range(1,10))
print(numbers)
if numbers < 2:
    print(numbers + 'st')
if numbers < 4:
    print(numbers + 'rd')
if numbers <10:
    print(numbers + 'th')

輸出:  
  File "C:/Python36/day10/ss.py", line 3, in <module>不支持“列表”和“int”的實例。
    if numbers < 2:
TypeError: '<' not supported between instances of 'list' and 'int'

 

 

正確的

numbers = list(range(1,10))
print (numbers)
for number in numbers:
    if number == 1:
        print('\n' + str(number)+'st')#必須用str不然沒法比較啊,
    elif number == 2:
        print('\n' + str(number)+'nd')
    elif number == 3:
        print('\n' + str(number)+'rd')
    else:
        print('\n' + str(number)+'th')


輸出;略

5-12 設置if 語句的格式 : 審核你在本章編寫的程序, 確保正確地設置了條件測試的格式。
5-13 自 己的想法 : 與剛拿起本書時相比, 現在你是一名能力更強的程序員了。 鑒於你對如何在程序中模擬現實情形有了更深入的認識, 你可以考慮使用程序來解決一
些問題。 隨着編程技能不斷提高, 你可能想解決一些問題, 請將這方面的想法記錄下來。 想想你可能想編寫的游戲、 想研究的數據集以及想創建的Web應用程序。

5-12 略

5-13 想編寫坦克大戰啊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM