前言:由於上周忙着准備二級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))
其實都不是特別難的題,不過有些問題當時卡的很厲害,現在回頭一看都解決的差不多了。沒有寫總結的基本上是一遍敲對的,所以就不寫了。
最后,各位都是怎么學數學的呢?感覺最近遇到了瓶頸,如果你有什么好方法,可以分享一下嗎?感謝!