為了記錄我的Python課,將我的作業發上來,歡迎各位大佬評鑒。如果你有什么更好的想法,請在下方評論或聯系我。謝謝!
作業一:由行轉逆列
描述
編寫程序實現如下功能:
將用戶輸入的一行字符串,轉為每個字符占一行逆序輸出。具體輸入輸入請參閱本頁最后“輸入輸出示例”。
代碼:
print("\n".join(reversed(input())))
這是之前01號作業那次大佬給我提供的靈感。多謝大神!!!
作業二:天天向上的力量
描述
一年365天,以第一天的能力值為基數,記為1.0。當好好學習時能力值相比前一天提高千分之n,當沒有學習時能力值相比前一天下降千分之n,每天努力和每天放任,一年下來的能力值相差多少呢?
代碼:
n=eval(input())
W=pow((1.0+0.001*n),365)
P=pow((1.0-0.001*n),365)
print("你的輸入為千分之{}。".format(n))
print("天天向上結果為:{:.2f}。".format(W))
print("天天放任結果為:{:.2f}。".format(P))
經驗::.2f的含義是保留小數點后兩位數字。
eval()函數真的很關鍵啊!之前一直在找錯誤,后來才發現是少了這個函數。這個函數的可以將字符串數據轉換為數值型數據,但是我有一點不懂的是如果輸入的是數字那么不能直接計算嗎?為什么?
作業三:一道題練會加減乘除和乘方
描述
用戶輸入兩個數字,分別輸出這兩個數字的和、差、積、商、整數商、余數、乘方。
代碼:
x=eval(input())
y=eval(input())
print("{}+{}={}".format(x,y,x+y))
print("{}-{}={}".format(x,y,x-y))
print("{}*{}={}".format(x,y,x*y))
print("{}/{}={:.2f}".format(x,y,x/y))
print("{}除以{}的整數商={}".format(x,y,x//y))
print("{}除以{}的余數為={}".format(x,y,x%y))
print("{}的{}次方={}".format(x,y,x**y))
經驗:這道題讓我感受到了C語言和Python的不同。C語言中求余數是mod,Python中則是//,以及一些其他的差別。
作業四:分支公式
描述
編寫程序實現如下功能:
用戶輸入一個數值型數據 x,如果 x > 10,則有 y = 2 * x -5,如果 x <= 10,則有 y = x + 6。編寫程序接收用戶輸入的數值性數據(可以使用變量 x,也可以自行命名變量),按前述要求運算后輸出 y 值(保留2位小數),具體輸入輸入請參閱本頁最后“輸入輸出示例”。
代碼:
import math
x=eval(input())
if x>10 :y=2*x-5
else :y=x+6
print ("{:.2f}".format(y))
經驗:這道題主要有兩個需要注意的點:一是if語句后的":" ,這是必須要寫的,和VBA語言有點像;二是import math,數學庫是必須要導入的,不導入程序就沒辦法執行。
作業五:求解[1,n]能被3整除的數
描述
編寫程序實現如下功能:
用戶輸入一個數值型數據 n,程序按由小到大順序按行輸出區間[1,n]之間所有能被3整數的數字,具體輸入請參閱本頁最后“輸入輸出示例”。
代碼:
import math
n=eval(input())
i=1
for i in range(1,n+1,1):
if i%3==0:print(i)
這道題是我時間卡的最長的一道題,先后調試了很多回,最后終於搞定了。總結如下:
1.i必須給一個初始定義值。emmmm....WHY?
2.加冒號啊加冒號,導入數學庫。
3.step=1,需要寫上。不知道為什么,不寫上就調試不出來。
總而言之,這些問題在解決之后就覺得非常簡單了,這些錯誤也很低級,分享出來,祝各位初學Python的同學不要再像我一樣傻傻分不清了。