python(第三周作業1)


完美立方

描述

費馬大定理斷言:當整數n>2時,關於a,b,c的方程an=bn+cn沒有正整數解。該定理被提出后,歷經三百多年,經歷多人猜想辯證,最終在1995年被英國數學家安德魯·懷爾斯證明。當然,可以找到大於1的4個整數滿足完美立方等式:a3=b3+c3+d3(例如123=63+83+103)。編寫一個程序,對於任意給定的正整數N(N ≤100),尋找所有的四元組(a,b,c,d),滿足a3=b3+c3+d3,其中1<a,b,c,d≤N。

 1 n = int(input()) # n范圍內的立方數
 2 
 3 list_cube = [0] # 用於存儲立方數的列表
 4 
 5 for i in range(1, n + 1):
 6 
 7     list_cube.append(i * i * i)
 8 
 9 for a in range(6, n + 1):
10     for b in range(2, a - 1):
11         if list_cube[a] < (list_cube[b] + list_cube[b + 1] + list_cube[b + 2]):
12             break
13         for c in range(b + 1, a):
14             if list_cube[a] < (list_cube[b] + list_cube[c] + list_cube[c + 1]):
15                 break
16             for d in range(c + 1, a):
17                 if list_cube[a] == (list_cube[b] + list_cube[c] + list_cube[d]):
18                     print("Cube = %d,Tripe = (%d,%d,%d)" % (a, b, c, d))
View Code

 

雞兔同籠 

描述

一個籠子里面關了若干只雞和兔子(雞有2只腳,兔子有4只腳,沒有例外)。已經知道了籠子里腳的總數為a,則籠子里面至少有多少只動物,至多有多少只動物? 

 1 #雞兔同籠
 2 n=eval(input())
 3 for i in range (n):
 4     a=eval(input())
 5     if (a % 2 != 0): #n為奇數
 6         max=min=0
 7     elif (a % 4) == 0:#n是4 的倍數
 8         max = a / 2 #全為雞時最多
 9         min = a / 4 #全為兔時最少
10     else:
11         max = a / 2
12         min = (a /4)+(a%4)/2 
13     print ("%d %d"%(min,max))
View Code

 

 

溫度轉換異常處理

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

溫度的刻畫有兩個不同體系:攝氏度(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()獲得測試用例輸入時,不要增加提示字符串。

 1 try:
 2     TempStr = input("")
 3     if TempStr[-1] in ['F','f']:
 4         C = (eval(TempStr[0:-1]) - 32) / 1.8
 5         print("{:.2f}C"/format(C))
 6     elif TempStr[-1] in ['C','c']:
 7         F = 1.8 * eval(TempStr[0:-1]) + 32
 8         print("{:.2f}F".format(F))
 9     else:
10         print("輸入錯誤,末位只能是'C','c','F','f'")
11 except NameError :
12         print("試圖訪問的變量名不存在")
13 except SyntaxError:
14         print('存在語法錯誤')
View Code

 


免責聲明!

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



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