用python和計算機對話(計算機的語句)

BJM_ppcBJM_ppc發表於2020-11-21

計算機中的的語句

  • 程式設計其實就是一個把人類語言轉換成計算機語言的過程,再知道每個字是什麼意思後,就要把它連成一句話,這樣它便有了意義。程式便是由這樣一句一句的計算機語句組成的,那麼計算機語句都有哪些呢。

1. if else語句

  • if是如果的意思,和我們平時如果的用法相同。在美國,如果你有足夠多的錢,那麼你就可以為所欲為;否則,就要收斂。
  • if else就是在如果後邊加了個否則,如果你考的比我高,那麼你就請我吃飯;否則,我請你。如果…,就…;否則…,就…。諸如此類,如何說給計算機聽呢。就要用到我們的if語句。
money = 0
if money > 1000000000 :
	print(" 牛* ")
else:
	print(" 加油吧! ")
  • elif == else: if
  • 來看一個例子三種不同寫法:
    1.樸實無華直接判斷
month = int(input('現在的月份:'))
if 0 < month < 13:
    if 3 <= month < 6:
        print('春季')   
    if 6 <= month < 10:
            print('夏季')
    if 10 <= month < 1:
            print('秋季')
    if 1 <= month < 4:
            print('冬季')
else:
    print('我可不過這個月')

2.這個語句看上去比第一種方法程式碼要多,但是他有一個有點,就是在加了else後當任意一個if條件成立,他會結束判定,直接列印輸出。再看一下第一種,比如我輸入的是4,那麼系統會在列印輸出" 春季 "後繼續完成以下的所有條件判斷,會減慢執行速度。

month = int(input('現在的月份:'))
if 0 < month < 13:
    if 3 <= month < 6:
        print('春季')
    else:
        if 6 <= month < 10:
            print('夏季')
        else:
            if 10 <= month < 1:
                print('秋季')
            else:
                if 1 <= month < 4:
                    print('冬季')
else:
    print('我可不過這個月')

3.這樣用elif代替else if效果是相同的,但會少些一些程式碼。但是要注意elif前一定要有一個並列等級的if。將else和if合併寫,要求你要很清楚你程式碼的邏輯,不能隨意合併。

month = int(input('現在的月份:'))
if 0 < month < 13:
    if 3 <= month < 6:
        print('春季')
    elif 6 <= month < 10:
        print('夏季')
    elif 10 <= month < 1:
        print('秋季')
    elif 1 <= month < 4:
        print('冬季')
else:
    print('我可不過這個月')

2. while語句

  • while語句和if相似 ,不同的是while在結果為真執行完語句後會進行重新判定條件的真假,直到條件為假,否則會一直迴圈。這就是while迴圈語句。所謂假就是0、空串、或條件判斷為false才會結束迴圈。
  • 這裡以一個列印100以內的質數為例(用的自己的邏輯,不一定是最簡單的。)
# 這裡設定i為需要判定的數,j為輔助判定因數。
i = 0
# 判斷是否是100以內
while i < 100:
    j = 1
    while j <= i:
        # 判定不為質數,則直接跳出迴圈
        if i % j == 0 and j != 1 and j != i:
            break
        else:
            # 判定是否取完所有可能的因數,若未取完則j自增
            if j != i:
                j += 1
            # 如判定取完可能因數,且上述已判定完不為質數的情況下,則可以確定該數為質數,列印輸出並且跳出迴圈。
            else:
            	# 1不是質數
                if i != 1:
                    print(i)
                break
    # 進行下一個數的判定。
    i += 1
  • 這個例子的關鍵是要明白其中的邏輯,首先要求是列印100以內的質數,那麼先判斷這個數是0-100。
# 這裡設定i為需要判定的數,j為輔助判定因數。
i = 0
# 判斷是否是100以內
while i < 100:
  • 然後列印質數,這就要從質數的定義入手,質數的定義是除了1和它本身沒有別的因數。那麼一個數可能的因數都有哪些呢,就是從1到它本身之間的數,那就一個一個試,這裡我們就設定一個輔助因數。判斷這個輔助因數到底是不是因數進行取餘看是否為零就可以了。那麼不滿足質數定義的數直接跳到下一個數就可以了。
j = 1
    while j <= i:
        # 判定不為質數,則直接跳出迴圈
        if i % j == 0 and j != 1 and j != i:
            break
  • 這裡再對輔助因數進行判斷,剛才說過可能的因數是1到他本身,所以當輔助因數j等於判定數i時,中間的可能因數都不是i的因數,那麼說明i是質數,就可以進行列印輸出了,不要忘了i自增進行下一個數的判定在這裡插入圖片描述
    。最後這裡再把漏網之魚1去掉就大功告成了。
 # 如判定取完可能因數,且上述已判定完不為質數的情況下,則可以確定該數為質數,列印輸出並且跳出迴圈。
            else:
            	# 1不是質數
                if i != 1:
                    print(i)
                break
    # 進行下一個數的判定。
    i += 1

相關文章