分支和循環2

測試題:

0.       下面的循環會打印多少次”I love FishC”

for i in range(0,10, 2):

print('I LoveFishC')

  

答:for I in range(0,10,2)打印的I 的值爲:0,2,4,6,8

    所以打印5I love FishC

 

1.       下面的循環會打印多少次”I love FishC”

for i in 5:

    print('I Love FishC')

答:0次,會報錯

 

2.  回顧一下break和continue在循環中起到的作用?

答:break是跳出整個循環,continue是跳出本次循環。

 

3.  請談一下你對列表的理解?

答:

(1).列表是最常用的Python數據類型,它可以作爲一個方括號內的逗號分隔值出現。

(2).列表的數據項不需要具有相同的類型。

(3).創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可。

 

4.  請問range(10)生產那些數?

答:會生產0,1,2,3,4,5,6,7,8,9   list(range(0,10))

 

5.  目測以下程序會打印什麼?

while True:

    while True:

        break

        print(1)

    print(2)

    break

print(3)

答:2和3

 

6.  什麼情況下我們要使循環永遠爲真?

答:同樣用於遊戲實現,因爲遊戲只要運行着,就要時刻接受用戶輸入,因此使用永遠爲真確保遊戲在線。

 

7.  你覺得以下代碼效率怎樣?有沒有辦法可以大幅改進(扔然使用while)?

i = 0

string ='abc.com'

while i <len(string):

    print(i)

i += 1

 

答:

#!/usr/bin/envpython

i = 0

string ='abc.com'

for i in range(i,len(string)):

print(i)

 

 

動動手:

0.       設計一個用戶驗證密碼程序,用戶只有三次機會輸入錯誤,不過如果用戶輸入的內容包含*則不計算在內?

#!/usr/local/bin/python3

#_*_coding:utf-8_*_

bingo= 'abk.com'

i = 1

a ="*"

answer= input('請輸入密碼:')

           

whileTrue:

    if answer == bingo:

        print("密碼正確,進入程序。。。。")

        break    

 

    elif ( a in answer ):

        answer = input("密碼中不能含有'*'號!您還有三次機會!請重新輸入密碼:")

        continue

      

    while True: 

         if i < 3:

             answer = input("密碼輸入錯誤!您還有 %s 次機會!請重新輸入密碼:" %(3 - i) )        

             if answer != bingo:

                    i += 1

                    continue

             else:

                 print("密碼正確,進入程序。。。。")    

         else:

             print("三次輸入錯誤,退出程序。")

         break

break

 

1.  編寫一個程序,求100到999之間的所有水仙花數。

(如果一個3位數等於其各位數字的立方和,則稱這個數爲水仙花數。例如:153=1^3+5^3+3^3,因此153就是一個水仙花數)

答:

#!/usr/local/bin/python3

#_*_coding:utf-8_*_

for iin range(100,1000):

    sum = 0

    temp = i

    while temp:

          sum = sum + (temp%10)**3

          temp//=10

    if sum == i:

        print(i)         

            

2.  三色球問題

有紅,黃,藍三種顏色的球,其中紅球3個,黃球3個,綠球6個。先將這12個球混合放在一個盒子中,從中任意摸出8個球,編程計算摸出球的各種顏色搭配。

答:

print('red\tyellow\tgreen')

forred in range(0, 4):

    for yellow in range(0, 4):

        for green in range(2, 7):

            if red + yellow + green == 8:

                # 注意,下邊不是字符串拼接,因此不用“+”哦~

                print(red, '\t', yellow, '\t',green)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章