我在寫的時候發現變數太多了,於是我就開始琢磨如何減少變數的問題,還真的被我發現了可以在input購買金額的時候直接做加減,會比一個一個輸入變數來的精簡。 我開始摸索更短的方法我確實成功了只用了6行 其中用到了兩個函式包括sum()跟abs()。 還用到了迴圈!!
在這次的題目中我有許多錯誤 1.if a<=5:跟elif a//5!=0:寫相反 2.輸出只要是5的倍數(5除外)都會多加一組 而在同學的教導中 我認知到我錯誤1問題出在哪 if的語法應該是要以小範圍慢慢到大範圍 而我一開始是由大範圍到小範圍 所以才會出現錯誤 而錯誤2的問題則是 我一開始寫在結果輸出的地方寫a//5+1 這樣會導致我只要是5的倍數(5除外)都會變成下一組 我後來發現到可以在if中再加一個if語法(巢狀條件判斷) 這樣就能有效解決我的問題了 這些錯誤讓我學會了巢狀條件判斷、跟if語法中先後順序問題
第一次打這題時 打了太多行程式碼 所以結果跳出錯誤時 找不到錯在哪 而向同學請教後 把許多行程式碼縮短 例如print("購物金額 {money}")跟print("應付金額 {d}") 可以不用放在if裡面 因為不論結果如何都會顯示 也了解到第一次的錯誤在於我在elif的部分 打成money=d 但正確的寫法是money==d 從這次錯誤中我學會了python的=用法是== 還有要有效縮短程式碼
自從前面錯過一次elif的語法後 後面練習到目前為止都沒有再錯過一樣的問題 而且對於if的語法使用更加熟練了
一開始做的時候打的是else if 結果發現結果顯示:語法錯誤 回去查看才發現python的寫法是elif 這次的錯誤也讓我對elif的語法有更深刻的印象
我沒加空格[應該要這樣打print(f"|{x:8.1f} {a:8.1f}|")] 但我打成print(f"|{x:8.1f}{a:8.1f}|")這樣
題目真的要看清楚,我卡在沒有*s超級久,開更號也是這題的一大重點,但其實google很快就有答案了
需要一些的數學基礎,我覺得這一題很有趣
雖然一開始題目看錯試了很多次,但是發現錯誤後馬上就答對了!
這一題我思考了超級久,一直找不到哪裏有錯誤,還好最後有找到
雖然過程中有卡卡的,但是經過一番思考,最終終於答對了
連續做了好幾題if、elif、else的題目,已經蠻熟練的
這一題好有趣,算是很常見的題目,值得練習
這一題裡面包含了許多的概念,值得一做
利用到if和elif的觀念,這些觀念十分重要
我覺得這一題好有趣
雖然過程中一直有錯誤,但最後還是解決問題了
這一題需要很好的邏輯
這一題我試了好幾次,是個不錯的題目
學會如何使用if
理解如何從字串中取得我要的值
這題蠻簡單好玩的,但是我轉到0
這一題有一些難度,讓我思考了許久
運用了三次%的格式,更加熟悉
我覺得這題好有趣
學習如何使用float
very interesting
這個題目好難,我學到了好多
我認為很有趣但有點困難
我學會了如何運用%以及邏輯大幅增強
更加熟練如何使用變數來運算式子
更加了解format格是如何運用
是個能夠學習變數的運算基礎的題目
關於字串與字串間的合併更加熟練。
是一個很基礎的題目,關於print有更深入的了解
我對於印出答案有了些許進步
一直解不出來真的很想知道錯在哪,並且通過
對輸出格式尚有不熟之處,但從解題過程中也使我獲得不少樂趣
有點困難但很有趣
import math #呼叫數學模組 def compute(x, y): #開始定義funtion gcd = math.gcd(x, y) #使用gcd 函式(求x,y之間之公因數) return gcd #回傳結果 while True: #建立無窮迴圈 x, y = eval(input()) if x == -9999: break #若x為-9999,迴圈終止 print(compute(x, y)) #呼叫funtion #此題(2022/12/25)python基礎證照考試有出題過。
d.strip()#去除左右空格
print("大寫",d.isupper())#是由大寫字母組成 print("小寫",d.islower())#小寫 print("字母",d.isalpha())#字母 print('數字',d.isdigit())#數字
s1=set()#設定兩個集合 s2=set() n=input() while n!="end": s1.add(n)#集合增加用add n=input() n2=input() while n2!="end": s2.add(n2) n2=input() print(sorted(s1|s2))#聯集s1+s2 print(sorted(s1&s2))#交集s1.s2都有 print(sorted(s2-s1))#差集S2有S1沒有 print(sorted(s2^s1))#S1.S2彼此沒有的科目
d=[] s=0 for i in range(2): #兩名學生資料 d.append([]) #加進去空串列 for j in range(4): #子迴圈控制串列內容 if j >0: #索引值大於0以數值內容丟進串列 d[i].append(eval(input())) else: d[i].append(input())#索引值為0是名字 for i in range(len(d)): #讀取二維串列資料值 s=0 #在此設定一個運算變數 for j in range(len(d[i])): #讀取二維串列內一維串列資料值 if j>0: #名字之外數值加總 s+=d[i][j] d[i].append(s) #將總和.平均加進一維串列內 d[i].append(s/3) print(d)
d=[]#一維串列 for i in range(2):#兩個學生 d.append([])#二維串列 for j in range(4):#丟進1個名字,三筆成績 d[i].append(input()) print(d)#輸出
d=[]#空串列 for i in range(10):#10筆資料迴圈丟進串列 d.append(int(input())) c=[0]*len(d)#c為串列[0,0,0,0,0,0,0,0,0,0] print(d)#輸出d for i in d:#讀d串列資料 k=d.index(i) c[k]+=1 #假設索引值1出現一次 c[1]+1 print(f'{i} 出現在 {k} 索引值 累計出現 {c[k]} 次') #輸出串列值在串列的索引值 累計出現幾次
d=[]#空串列 for i in range (10):#10筆資料跑迴圈 n=int(input())#輸入變數 d.append(n)#加進串列 print(d) #輸出串列 for j in range (0,10):#讀串列資料 print(d[j],"出現在",d.index(d[j]),"索引值") #d.index()出現在相對應的索引值
d=eval(input()) #把串列接收進d for i in range (len(d)):#讀取d串列的資料 if i %3 ==2:#每三個為一列(索引值0.1.2一列) (3.4.5一列,也就是索引值除三於二) print('{:3d}'.format(d[i]))(換行輸出) else: print('{:3d}'.format(d[i]),end="")
d=[] a=[]#設定兩個空串列預備使用 n=eval(input())#變數n值設定 while n!=-9999:#假使無限迴圈n值不等於-9999 d.append(n)#n值丟進去d串列 n=eval(input())#無限輸入n print("原來串列",d)#輸出d串列 for i in range(len(d)):#讀取d串列資料 if i %2==0:#偶數索引值丟進去a串列 a.append(d[i]) print("偶數索引值串列",a)#輸出a串列
d=[]#空串列 n=eval(input()) #先設定一個n值 while n!=-9999:#假設無限迴圈n值不等於-999 d.append(n)#將n值丟進去空串列裡面 n=eval(input())#n值循環輸入 print("原來串列",d)#輸出原先的串列 d.remove(max(d))#移除最大值 d.remove(min(d))#移除最小值 print("最後串列",d)#輸出新串列 print("總和",sum(d))#計算總和