天天看點

《Python程式設計:從入門到實踐》課後練習5-1到5-11

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 。

number = 
print("Is number == '1'? I predict True.")
print(number == )

print("\nIs number == '2'? I predict False.")
print(number == )
           

5-3

假設在遊戲中剛射殺了一個外星人,請建立一個名為alien_color 的變量,并将其設定為’green’ 、’yellow’ 或’red’ 。

  • 編寫一條if 語句,檢查外星人是否是綠色的;如果是,就列印一條消息,指出玩家獲得了5個點。
  • 編寫這個程式的兩個版本,在一個版本中上述測試通過了,而在另一個版本中未通過(未通過測試時沒有輸出)。
alien_color = 'green'
if alien_color == 'green':
    print('You get 5 score')
           

5-4

像練習5-3那樣設定外星人的顔色,并編寫一個if-else 結構。

  • 如果外星人是綠色的,就列印一條消息,指出玩家因射殺該外星人獲得了5個點。
  • 如果外星人不是綠色的,就列印一條消息,指出玩家獲得了10個點。
  • 編寫這個程式的兩個版本,在一個版本中執行if 代碼塊,而在另一個版本中執行else 代碼塊。
alien_color = 'green'
if alien_color == 'green':
    print('You get 5 score')
else:
    print('You get 10 score')
           

5-5

将練習5-4中的if-else 結構改為if-elif-else 結構。

  • 如果外星人是綠色的,就列印一條消息,指出玩家獲得了5個點。
  • 如果外星人是黃色的,就列印一條消息,指出玩家獲得了10個點。
  • 如果外星人是紅色的,就列印一條消息,指出玩家獲得了15個點。
  • 編寫這個程式的三個版本,它們分别在外星人為綠色、黃色和紅色時列印一條消息。
alien_color = 'green'
if alien_color == 'green':
    print('You get 5 score')
elif alien_color == 'yellow':
    print('You get 10 score')
elif alien_color == 'red':
    print('You get 15 score')
           

5-6

設定變量age 的值,再編寫一個if-elif-else 結構,根據age 的值判斷處于人生的哪個階段。

  • 如果一個人的年齡小于2歲,就列印一條消息,指出他是嬰兒。
  • 如果一個人的年齡為2(含)~4歲,就列印一條消息,指出他正蹒跚學步。
  • 如果一個人的年齡為4(含)~13歲,就列印一條消息,指出他是兒童。
  • 如果一個人的年齡為13(含)~20歲,就列印一條消息,指出他是青少年。
  • 如果一個人的年齡為20(含)~65歲,就列印一條消息,指出他是成年人。
  • 如果一個人的年齡超過65(含)歲,就列印一條消息,指出他是老年人。
age = 
if age < :
    print('He is a baby.')
elif age < :
    print('He is learning walking')
elif age < :
    print('He is a child')
elif age < :
    print('He is a teenager')
elif age < :
    print('He is an adult')
else:
    print('He is an elder')
           

5-7

建立一個清單,其中包含你喜歡的水果,再編寫一系列獨立的if 語句,檢查清單中是否包含特定的水果。

  • 将該清單命名為favorite_fruits ,并在其中包含三種水果。
  • 編寫5條if 語句,每條都檢查某種水果是否包含在清單中,如果包含在清單中,就列印一條消息,如“You really like bananas!”。
favorite_fruits = ['apple', 'orange', 'banana']
if 'apple' in favorite_fruits:
    print('You really like apple!')
if 'orange' in favorite_fruits:
    print('You really like orange!')
if 'banana' in favorite_fruits:
    print('You really like banana!')
if 'peach' in favorite_fruits:
    print('You really like peach!')
if 'bit' in favorite_fruits:
    print('You really like bit!')
           

5-8

建立一個至少包含5個使用者名的清單,且其中一個使用者名為’admin’ 。想象你要編寫代碼,在每位使用者登入網站後都列印一條問候消息。周遊使用者名清單,并向每位使用者列印一條問候消息。

  • 如果使用者名為’admin’ ,就列印一條特殊的問候消息,如“Hello admin, would you like to see a status report?”。
  • 否則,列印一條普通的問候消息,如“Hello Eric, thank you for logging in again”。
users = ['admin', 'A', 'B', 'C', 'D']
for user in users:
    if user == 'admin':
        print('Hello admin, would you like to see a status report?')
    else:
        print('Hello ' + user + ', thank you for logging in again')
           

5-10

按下面的說明編寫一個程式,模拟網站確定每位使用者的使用者名都獨一無二的方式。

  • 建立一個至少包含5個使用者名的清單,并将其命名為current_users 。
  • 再建立一個包含5個使用者名的清單,将其命名為new_users ,并確定其中有一兩個使用者名也包含在清單current_users 中。
  • 周遊清單new_users ,對于其中的每個使用者名,都檢查它是否已被使用。如果是這樣,就列印一條消息,指出需要輸入别的使用者名;否則,列印一條消息,指出這個使用者名未被使用。
  • 確定比較時不區分大消息;換句話說,如果使用者名’John’ 已被使用,應拒絕使用者名’JOHN’ 。
current_users = ['a', 'b', 'c', 'd', 'e']
new_users = ['a', 'B', 'f', 'g', 'h']
for new_user in new_users:
    used = False
    for current_user in current_users:
        if new_user.lower() == current_user.lower():
            used = True
    if used:
        print(new_user + ' has benn used.')
    else:
        print('You can use the name ' + new_user + '.')
           

5-11

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

在一個清單中存儲數字1~9。

  • 周遊這個清單。
  • 在循環中使用一個if-elif-else 結構,以列印每個數字對應的序數。輸出内容應為1st 、2nd 、3rd 、4th 、5th 、6th 、7th 、8th 和9th ,但每個序數都獨占一行。
lis = list(range(, ))
for i in lis:
    if i == :
        print('1st')
    elif i == :
        print('2nd')
    elif i == :
        print('3rd')
    else:
        print(str(i) + 'th')