Python第三周(2):數列求和,溫度轉換異常處理,雞兔同籠


數列求和

給定某數字 a(1a≤9)以及非負整數n(0≤n≤100000),求數列之和sum=a+aa+aaa++aaa(n個a)。

例如a=2, n=3時,sum=2+22+222=246。

 

a=int(input())
b=int(input())
n=0
sum=0
for i in range (1,b+1):
    n = (n * 10)+a
    sum = sum + n
print(sum)

棋盤放米

相傳古代印度國王舍罕要褒賞他的聰明能干的宰相達依爾 (國際象棋發明者),問他需要什么,達依爾回答說:“國王只要在國際象棋的棋盤第一個格子里放一粒麥子,第二個格子里放兩粒,第三個格子里放四粒,按此比例以后每一格加一倍,一直放到64格(國際象棋棋盤是8×8=64格),我就感恩不盡,其他的我什么也不要了,”國王想:“這有多少,還不容易!”讓人扛來一袋小麥,但不到一會兒全用沒了,再來一袋很快又沒有了,結果全印度的糧食全部用完還不夠,國王納悶,怎樣也算不清這筆賬,請你幫國王計算一下,共需多少粒麥子,寫出程序。

 

n=1
m=0
for i  in range(1,65):
    n=pow(2,i-1)
    m=m+n
print(m)

 

溫度轉換異常處理

 

溫度的刻畫有兩個不同體系:攝氏度(Celsius)和華氏度(Fabrenheit)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

請編寫程序將用戶輸入華氏度轉換為攝氏度,或將輸入的攝氏度轉換為華氏度。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

轉換算法如下:(C表示攝氏度、F表示華氏度)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

         C = ( F - 32 ) / 1.8‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

         F = C * 1.8 + 32‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

(1) 輸入輸出的攝氏度采用大寫字母 C 或小寫字母 c 結尾,溫度可以是整數或小數,如:12.34C 指攝氏度 12.34 度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

(2) 輸入輸出的華氏度采用大寫字母 F 或小字字母 f 結尾,溫度可以是整數或小數,如:87.65F 指華氏度 87.65 度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

(3) 考慮異常輸入的問題,如輸入不合法則拋出異常;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

(4) 使用input()獲得測試用例輸入時,不要增加提示字符串。

try:
    a=input()
    if a [-1] in ['c','C']:
        f=1.8*eval(a[0:-1])+32
        print("{:.2f}F".format(f))
    elif a [-1] in ['f','F']:
        c=(eval(a[0:-1])-32)/1.8
        print("{:.2f}C".format(c))
    else:
        print("輸入錯誤,末位只能是'C','c','F','f'")
except NameError :
    print("試圖訪問的變量名不存在")
except SyntaxError:
    print('存在語法錯誤')

雞兔同籠

一個籠子里面關了若干只雞和兔子(雞有2只腳,兔子有4只腳,沒有例外)。

已經知道了籠子里腳的總數為a,則籠子里面至少有多少只動物,至多有多少只動物? ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

輸入格式

 

第1行輸入一個正整數n(n≤1000),表示測試數據的組數n,接下來n組測試數據每組一行,每行一個正整數a(a<32768)。提示: 輸入使用input(),不要增加額外的提示信息 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

 

輸出格式

 

輸出包含n行,每行對應一個輸入,包含兩個正整數,第一個是最少的動物數,第二個是最多的動物數,兩個正整數之間用一個空格分開。輸出包含n行,每行對應一個輸入,包含兩個正整數,第一個是最少的動物數,第二個是最多的動物數,兩個正整數之間用一個空格分開。 如果沒有滿足要求的答案,則輸出兩個0。

N=int(input())
for i in range (N):
    n=int(input())
    if n % 2 != 0:
        a=i=0
    elif n % 4 == 0:
        a = n / 2
        i = n / 4
    else:
        i = (n - 2)/4+1
        a = n / 2
    print ("%d %d"%(i,a))

 


免責聲明!

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



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