Python課 #03號作業


     前言:由於上周忙着准備二級Access考試,一直沒有時間發上周的作業。二級題刷多了,做筆記記了一百多個知識點,發現其實大部分都是套路啊!

     為了記錄我的Python課,將我的作業發上來,歡迎各位大佬評鑒。如果你有什么更好的想法,請在下方評論或聯系我。謝謝!

作業一:求 n 以內所有奇數的和

     描述

用戶輸入一個數字n,求解從0開始到n內所有奇數的和。注意:如果輸入的n為奇數,求和不包括n。 

代碼:

n=eval(input())
sum=0
for i in range(1,n,2):
sum=sum+i
print(sum)

          經驗:之前一直想用求模的方式解決,但是忘了直接設置step=2也是可以的。

另一種方法:

n=eval(input())
print(sum([i for i in range(n) if i%2==1]))

更簡潔的方法:

print(sum(range(1,int(input(''),2))))

作業二:輸出圓或正方形面積

    描述

程序接收用戶的兩個輸入,使用兩個 input() 函數實現。第一個輸入為一個數值,用來表示正方形的邊長或圓的半徑;第二個輸入為“s”或“c”,用來表示用戶輸入的第一個數據是正方形的邊長還是圓的半徑。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

第2個輸入如果為“s”,表示是正方形,程序輸出以第一個輸入為邊長的正方形的面積。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

第2個輸入如果未“c”,表示是圓形,程序輸出以第一個輸入為半徑的圓形的面積。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

注1:π 值使用 3.1416 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

注2:input() 函數不要使用任何輸入提示。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

注3:輸出數值保持小數點后2位數字。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

其他,請參考輸入輸出格式和示例的具體要求。

    代碼:

a=eval(input())
b=input()
if b=="s":print("邊長為{}的正方形面積為{:.2f}".format(a,a*a))
else:
if b=="c":print("半徑為{}的圓形面積為{:.2f}".format(a,3.1416*a*a))

作業三:英寸和厘米的交互

    描述

雖然我國已經很好的普及了國際單位制,而在現實生活中,仍然有很多地方采用了英制單位來描述,例如,我們買一台65寸的電視,這個地方的寸指的就是英寸,或者拍一張2寸的照片,用的是相同的英制單位。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

現在已知 1英寸 = 2.54厘米。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

請編寫程序實現以英寸標識的數據和以厘米標識的數據的互相轉換。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

    輸入格式

用戶輸入英制單位數據時,可以輸入的形式為以“i”或“I”結尾的數字,例如:65I、23i。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

用戶輸入國際單位制數據時,可以輸入的形式為以“c”或“C”結尾的數字,例如:18c、88C。 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

特別注意: 輸入使用input(),不要增加額外的提示信息  ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

    輸出格式

輸出的數值應保留小數點后兩位數字,使用字符串留槽功能實現。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

結果為厘米為單位的數據時,輸出格式為數字后跟cm的形式,例如,120cm 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

結果為英寸為單位的數據時,輸出格式為數字后跟inch的形式,例如,120inch 。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

用戶輸入的內容結尾不為“I”、“i”、“C”、“c”中的任何一個數據時,輸出結果為:輸入錯誤。

代碼: 

a=input()
b=a[-1]
if b in["C","c"]:
y=eval(a[:-1])/2.54
print("{:.2f}inch".format(y))
elif b in["I","i"]:
y=eval(a[:-1])*2.54
print("{:.2f}cm".format(y))
else: print("輸入錯誤")

         經驗:這道題是我在限定時間內沒有做出來的一道題,慚愧。后來看了老師的答案,才意識到python里有elif函數,以及Tab鍵和空格鍵的區別。 以后一定要注意啊。

                    選擇結構:if語句:if <condition>:

                                                 something

              elif <condition>:

                                                 something

              elif <condition>:

                                                 something

              elif <condition>:

                                                 something

              else:

              something

作業四:奇偶不同,結果不同(標准版)

    描述

編寫程序實現如下功能:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

使用兩個 input() 接收用戶的兩個輸入,第一個為一個正整數,第二個為一個任意字符串(兩個數據的錄入用回車作為分隔)。根據第一個整數為奇數還是偶數執行不同的操作。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

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

  • 如果第一個整數為奇數(假設為3),第二個字符串假設為"abc",則輸出3遍"abc";
  • 如果第一個整數為偶數(假設為4),第二個字符串假設為"abc",則輸出4遍"abc"的逆序字符"cba"(提示,字符串 s 的逆序串可以表示為 s[::-1];

    代碼:

a=eval(input())
b=input()
c=b[::-1]
if a%2 ==0:
print("{}".format(c*a))
else:
print("{}".format(b*a))

    經驗:切片索引很重要。

       s[i]     s[-i]      s[m:n]

作業五:判斷回文

    描述

使用 input() 函數接收用戶的輸入,判斷用戶的輸入是否是回文。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

回文是指一個字符串正讀和反讀都是一樣的。例如:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

abcba 和 abcddcba 都是回文字符串。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

abcde 不是回文字符串。

    代碼:

a=str(input())
b=a[::-1]
if a==b:print("{}是回文。".format(a))
else :print("{}不是回文。".format(a))

               其實都不是特別難的題,不過有些問題當時卡的很厲害,現在回頭一看都解決的差不多了。沒有寫總結的基本上是一遍敲對的,所以就不寫了。

               最后,各位都是怎么學數學的呢?感覺最近遇到了瓶頸,如果你有什么好方法,可以分享一下嗎?感謝!


免責聲明!

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



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