1. 程式人生 > >Python——簡單A+B

Python——簡單A+B

題目來自NEUQ OJ(2.7)

1003: A+B(基本輸入輸出3)

描述

題目描述:

輸入兩個數A,B,輸出A+B的值。

輸入:

多組資料:每組由兩個整數(a和b)構成,a和b之間用空格隔開,每組輸入單獨佔一行。

當輸入為 0 0 時,輸入結束。0 0這組資料不處理。

輸出:

對於每一組測試用例,輸出齊對應的和,每組資料一行。

樣例輸入

1 2
3 4
10 20
0 0

樣例輸出

3
7
30

程式碼如下:

while(1):
    try:
        a,b=map(int,raw_input().split())
        if a!=0 or b!=0:
            sum=a+b
            print sum 
        elif a==0 and b==0:
            break;
    except:
        break

前幾天聽一個大佬教育我,學一個語言可以先不要系統的學,先學習框架,然後在做題的時候找到自己需要什麼,然後再通過百度啊問大佬啊,這樣的方法,效果會更好。

然後,我就聽取了大佬的意見,果然是受益匪淺。

閒言少敘,就來解析一下這段程式碼需要的知識吧!

while迴圈:

(資料來源於http://www.runoob.com/python/python-while-loop.html)

while 判斷條件:
    執行語句……
例項
#!/usr/bin/python
 
count = 0
while (count < 9):
   print 'The count is:', count
   count = count + 1
 
print "Good bye!"


輸出:

The count is:0

The count is: 1

The count is: 2

The count is: 3

The count is: 4

The count is: 5

The count is: 6

The count is: 7

The count is: 8

Good bye!

while 語句時還有另外兩個重要的命令 continue,break 來跳過迴圈,continue 用於跳過該次迴圈,break 則是用於退出迴圈,此外"判斷條件"還可以是個常值,表示迴圈必定成立,具體用法如下:
# continue 和 break 用法
 
i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非雙數時跳過輸出
        continue
    print i         # 輸出雙數2、4、6、8、10
 
i = 1
while 1:            # 迴圈條件為1必定成立
    print i         # 輸出1~10
    i += 1
    if i > 10:     # 當i大於10時跳出迴圈
        break

如果條件判斷語句永遠為 true,迴圈將會無限的執行下去,如下例項:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
var = 1
while var == 1 :  # 該條件永遠為true,迴圈將無限執行下去
   num = raw_input("Enter a number  :")
   print "You entered: ", num
 
print "Good bye!"

以上例項輸出結果:

Enter a number  :20You entered:20Enter a number  :29You entered:29Enter a number  :3You entered:3Enter a number between :Traceback(most recent call last):File"test.py", line 5,in<module>
    num = raw_input("Enter a number :")KeyboardInterrupt

注意:以上的無限迴圈你可以使用 CTRL+C 來中斷迴圈。

‘’‘

這裡補充一句,我延續了c++裡的寫法,即while(1)

’‘’

在 python 中,while … else 在迴圈條件為 false 時執行 else 語句塊:

#!/usr/bin/python
 
count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

以上例項輸出結果為:

0is less than 51is less than 52is less than 53is less than 54is less than 55isnot less than 5

類似 if 語句的語法,如果你的 while 迴圈體中只有一條語句,你可以將該語句與while寫在同一行中, 如下所示:

#!/usr/bin/python
 
flag = 1
 
while (flag): print 'Given flag is really true!'
 
print "Good bye!"


注意:以上的無限迴圈你可以使用 CTRL+C 來中斷迴圈。

if  &&  else

以下內容來自http://www.runoob.com/python/python-if-statement.html

Python程式語言指定任何非0和非空(null)值為true,0 或者 null為false。

Python 程式設計中 if 語句用於控制程式的執行,基本形式為:

if 判斷條件:
    執行語句……
else:
    執行語句……

其中"判斷條件"成立時(非零),則執行後面的語句,而執行內容可以多行,以縮排來區分表示同一範圍。

else 為可選語句,當需要在條件不成立時執行內容則可以執行相關語句,具體例子如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 例1:if 基本用法
 
flag = False
name = 'luren'
if name == 'python':         # 判斷變數否為'python'
    flag = True          # 條件成立時設定標誌為真
    print 'welcome boss'    # 並輸出歡迎資訊
else:
    print name              # 條件不成立時輸出變數名稱

輸出結果為:

luren            # 輸出結果

if 語句的判斷條件可以用>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)來表示其關係。

當判斷條件為多個值時,可以使用以下形式:

if 判斷條件1:
    執行語句1……
elif 判斷條件2:
    執行語句2……
elif 判斷條件3:
    執行語句3……
else:
    執行語句4……
例項如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法
 
num = 5     
if num == 3:            # 判斷num的值
    print 'boss'        
elif num == 2:
    print 'user'
elif num == 1:
    print 'worker'
elif num < 0:           # 值小於零時輸出
    print 'error'
else:
    print 'roadman'     # 條件均不成立時輸出

輸出結果為:

roadman        # 輸出結果

由於 python 並不支援 switch 語句,所以多個條件判斷,只能用 elif 來實現,如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 例3:if語句多個條件
 
num = 9
if num >= 0 and num <= 10:    # 判斷值是否在0~10之間
    print 'hello'
# 輸出結果: hello
 
num = 10
if num < 0 or num > 10:    # 判斷值是否在小於0或大於10
    print 'hello'
else:
    print 'undefine'
# 輸出結果: undefine
 
num = 8
# 判斷值是否在0~5或者10~15之間
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    print 'hello'
else:
    print 'undefine'
# 輸出結果: undefine
當if有多個條件時可使用括號來區分判斷的先後順序,括號中的判斷優先執行,此外 and 和 or 的優先順序低於>(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的情況下會比與或要優先判斷。

邏輯運算子 以下內容來自:http://www.yiibai.com/python/logical_operators_example.html

Python語言支援以下邏輯運算子。假設變數a的值為True,變數b的值為False,那麼 -

運算子 描述 示例
and 如果兩個運算元都為真,則條件成立。 (a and b)的結果為False
or 如果兩個運算元中的任何一個非零,則條件成為真。 (a or b)的結果為True
not 用於反轉運算元的邏輯狀態。 not(a and b) 的結果為True