# 第一回
## BMI計算
```
height = eval(input())
weight = eval(input())
x = ((height / 100) * (height / 100))
y = ((weight / x))
print (round(y,2))
```
## 107. 加總平均計算
```
sum1,sum2,sum3,sum4,sum5 = eval(input()),eval(input()),eval(input()),eval(input()),eval(input())
total = sum1+sum2+sum3+sum4+sum5
avg = total/5
print(sum1,sum2,sum3,sum4,sum5)
print(f"Sum = {total:.1f}")
print(f"Average = {avg:.1f}")
```
## 102.購買蘋果汁金額
```
apple = 23.34
buy = eval(input())
total = apple * buy
print("%.2f"%total)
```
## 104.兩個浮點數總和
```
a1=eval(input())
a2=eval(input())
a3=a1+a2
a4=str(a3)
if a4.rfind("5")==4 :
a3 = round(a3,2)+0.01
print("total=",round(a3,2),sep="")
```
## 106.兩點距離計算
```
import math
x1 = eval(input())
y1 = eval(input())
x2 = eval(input())
y2 = eval(input())
a = math.sqrt((x1-x2)**2+(y1-y2)**2)
print("%.2f"%a)
```
# 第二回
## 202.倍數判斷
```
x = int(input())
if (x%15==0):
print(x,"is a multiple of 3 and 5.")
elif (x%5==0):
print(x,"is a multiple of 5.")
elif (x%3==0):
print(x,"is a multiple of 3.")
else:
print(x,"is not a multiple of 3 or 5.")
```
## 203. 判斷閏年
```
x=eval(input())
if(x%100==0 and x%400!=0):
print(x,"is not a leap year.")
elif(x%4==0 or x%400==0):
print(x,"is a leap year.")
else:
print(x,"is not a leap year.")
```
## 206. 等級判斷
```
x=eval(input())
if(x>=80):
print("A")
elif(x>=70 and x<=79):
print("B")
elif(x>=60 and x<=69):
print("C")
else:
print("F")
```
## 207. 折扣方案
```
x=eval(input())
if(x>=38000):
print(x*0.7)
elif(x>=28000):
print(x*0.8)
elif(x>18000):
print(x*0.9)
elif(x>8000):
print(x*0.95)
else:
print(x)
```
## 109.成績判斷
```
x=eval(input())
if(x>100 or x<0):
print("error")
else:
print("pass") if x>=60 else print("fail")
print("even") if x%2==0 else print("odd")
```
## 201.奇數或偶數
```
x=eval(input())
print("even") if x%2==0 else print("odd")
```
## 202.分數輸出
```
x=eval(input())
if(x>100 or x<0):
print("error")
else:
print(x+10) if x>=60 else print(x+5)
```
# 第三回
## 301. 迴圈整數連加
```
start = eval(input())
end = eval(input())+1
sum = int(0)
for a in range(start,end):
sum = sum + a
print(sum)
```
## 302. 迴圈偶數連加
```
a = eval(input())
b = eval(input())
sum = int(0)
if (a%2!=0):
a=a+1
for i in range(a,b+1,2):
sum = sum + i
print(sum)
```
## 304. 迴圈倍數總和
```
a=eval(input())
sum=0
for i in range(1,a+1):
if (i%5==0):
sum=sum+i
print(sum)
```
## 306 迴圈階乘計算
```
a=eval(input())
ans=1
if (a==0):
print("1")
else:
for i in range(2,a+1):
ans=ans*i
print(ans)
```
## 307 乘法表
```
n=eval(input())
for i in range(1,n+1):
for a in range(1,n+1):
ans=i*a
print(f'{a} * {i} = {ans:<3}',end="")
print()
```
## 310. 迴圈公式計算
```
import math
n = eval(input())
sum = 0
for i in range(1,n):
sum = sum + (1/((math.sqrt(i)+math.sqrt(i+1))))
print(round(sum,4))
```
## 210. 最大公因數和最小公倍數
```
import math
a = eval(input())
b = eval(input())
ans1 = math.gcd(a,b)
ans2 = 9999999999999999
for i in range(1,a+1):
for j in range(1,b+1):
if (i*j)%a==0 and (i*j)%b==0:
ans3 = i*j
if i*j < ans2:
ans2 = i*j
print(ans1)
print(ans2)
```
## 302C.迴圈檢查數字
```
a = eval(input())
b = eval(input())
ans = 0
sum = 0
for i in range(a,b+1):
if (i%3==0 or i%5==0) and i%2!=0:
ans = ans+1
sum = sum+i
print("有",ans,"個",sep="")
print("總和",sum,sep="")
```
## 304. 迴圈倍數總和
```
a = eval(input())
sum = 0
for i in range(1,a+1):
if i%5==0:
sum = sum + i
print(sum)
```
## 308. 迴圈位數加總
```
a = eval(input())
for i in range(1,a+1):
b = eval(input())
total = 0
n = 0
while 0<=n<=9:
d=str(b)
s=str(n)
c=d.count(s)
total = total + (n * c)
n += 1
print("Sum of all digits of",b,"is",total)
```
## 309. 存款總額
```
n = eval(input())
p = eval(input())/1200
m = eval(input())
print("Month \t Amount")
for i in range(1,m+1):
a = n*((1+p)**i)
a = round(a,2)
print(f'{i:>3} \t {a:>7.2f}')
```
## 401. 最小值
```
a=eval(input())
for i in range(1,10):
b = eval(input())
a=b if b<a else a
print(a)
```
## 數字倒三角形
```
l = eval(input())
for i in range(l,0,-1):
for j in range(i,0,-1):
print(j,end=" ")
print()
```
## 303. 迴圈數值相乘
```
l = eval(input())
for i in range(1,l+1):
for j in range(1,i+1):
ans=i*j
print(f'{ans:>4}',end="")
print()
```
## 繪製直角三角形
```
l = eval(input())
for i in range(1,l+1):
for j in range(1,i+1):
print("*",end="")
print()
```
# 第四回
### 電價計算
```
#電價計算
e = eval(input())
i = 1
total = 0
if e>0:
if e>500:
c = e-500
total = 200*2 + 200*3 + c*5
elif e>300:
c = e-300
total = 200*2 + c*3
elif e>100:
c = e-100
total = c*2
else:
total=0
print(total,"元",sep="")
else:
print("ERROR")
```
### 408
```
#408.
totalE=0
totalO=0
for i in range(1,11):
a = eval(input())
if a%2==0:
totalE += 1
elif a%2!=0:
totalO += 1
print(f"Even numbers:{totalE:>2}")
print(f"Odd numbers:{totalO:>2}")
```
### 高速公路超速罰款
```
#高速公路超速罰款
l = eval(input())
e = eval(input())
e = e-l
if e>0 and l>0:
if e>60:
total = 6000
elif e>40:
total = 5000
elif e>20:
total = 3500
else:
total=3000
print("超速",e,",罰",total,"元",sep="")
elif l<0:
print("ERROR")
elif e<0:
print("不處罰")
```
### 209. 距離判斷
```
#209. 距離判斷
import math
x2 = eval(input())
y2 = eval(input())
a = math.sqrt((5-x2)**2+(6-y2)**2)
if a>15:
print("Outside")
else:
print("Inside")
```
### 406
```
#406.
height=0
weight=0
while height!=-9999 or weight!=-9999:
height = eval(input())
if height==-9999 or weight==-9999:
break
weight = eval(input())
if height==-9999 or weight==-9999:
break
x = ((height / 100) * (height / 100))
y = ((weight / x))
BMI=(round(y,2))
print(f"BMI: {BMI:0.2f}")
if BMI<18.5:
print("State: under weight")
elif BMI<25:
print("State: normal")
elif BMI<30:
print("State: over weight")
elif BMI>=30:
print("State: fat")
```
### 飲料自動販賣機
```
Type=str(input())
NC=eval(input())
if Type=="1":
print("訂購紅茶",NC,"杯共",30 * NC,"元")
elif Type=="2":
print("訂購果汁",NC,"杯共",50 * NC,"元")
elif Type=="3":
print("訂購咖啡",NC,"杯共",80 * NC,"元")
elif Type=="4":
print("訂購綠茶",NC,"杯共",20 * NC,"元")
else:
print("輸入錯誤")
```
# 第五回
## 觀察串列存儲內容
```
length=eval(input())
lst1=[]
for i in range(0,length):
lst1.insert(i,str(input()))
print(length,"筆資料,","包含:",lst1)
```
## 串列資料記錄
```
n=0
lst=[]
l=0
while n!="end":
n=str(input())
lst.append(n)
l=l+1
print("共有",l-1,"筆",sep="",end="")
for i in range(0,l-1):
print(" ",lst[i],sep="",end="")
print("")
```
## P044.判斷串列內容
```
k=eval(input())
A=eval(input())
ans=0
sum=0
for i in range(0,len(A)):
C=A[i]
if C%k==0:
ans=ans+1
sum=sum+C
print(k,"的倍數有",ans,"個",sep="")
print("總和=",sum,sep="")
```
## 603.數字排序
```
a=[]
for i in range(10):
a.append(eval(input()))
a.sort(reverse=True)
print(a[0],a[1],a[2])
```
## 串列字串資料由小到大排序
```
a=[]
x=0
while x!="end":
x=input()
a.append(x)
del a[-1]
print("原始內容是",*a)
a.sort(reverse=False)
print("排序內容是",*a)
```
## 串列字串資料由大到小排序
```
a=[]
x=0
while x!="end":
x=input()
a.append(x)
del a[-1]
print("原始內容是",sep="",end="")
for i in range(0,len(a)):
print(" ",a[i],sep="",end="")
a.sort(reverse=False)
print()
print("排序內容是",sep="",end="")
for i in range(0,len(a)):
print(" ",a[i],sep="",end="")
```
## 308B.判斷串列內容
```
A=[780,372,216,685,975,232,110,867,95,14,179,855,450,758,280,703,585,112,212,212,349,333,372,305,928,673,604,677,1,978,493,84,544,215,642,538,726,906,379,902,184,612,801,254,64,326,986,5,781,891]
sum=0
ans=0
for i in A:
if i%7==0:
ans=ans+1
sum=sum+i
a=input()
a=input()
print(ans,"個\n總和",sum)
```
# 第六回
## 502. 乘積
```
def compute(x,y):
return x*y
x=eval(input())
y=eval(input())
print(compute(x,y))
```
## 503. 連加計算
```
def compute(x,y):
sum=0
for i in range(x,y+1):
sum=sum+i
return sum
x=eval(input())
y=eval(input())
print(compute(x,y))
```
## 504. 次方計算
```
def compute(x,y):
return pow(x,y)
x=eval(input())
y=eval(input())
print(compute(x,y))
```
## 507. 質數
```
def compute(x):
s=0
for i in [2,3,5,7,11,13,17]:
if x/i==1:
s=1
return s
x=eval(input())
if compute(x)==1:
print("Prime")
else:
print("Not Prime")
```
## 510. 費氏數列
```
def compute(x):
if x==0:
return 0
if x==1:
return 1
if x>=2:
return compute(x-2)+compute(x-1)
x=eval(input())
for i in range(0,x):
print(compute(i),"",end="")
```
## 函數回傳2個結果
```
def f(x,y):
print(f"{x}+{y}=",x+y,sep="")
print(f"{x}-{y}=",x-y,sep="")
x=eval(input())
y=eval(input())
f(x,y)
```
## 302.期中考分數
```
def compute(score):
if score<0 or score>100:
print("-1")
elif score>=60:
print(score+5)
else:
print(score+10)
score=eval(input())
compute(score)
```
## 304.判斷有幾個3的倍數
```
def compute(lst1):
y=0
for i in range(6):
if lst1[i]%3==0:
y=y+1
return y
lst1=[]
for i in range(6):
x=eval(input())
lst1.append(x)
print(compute(lst1))
```
## 306.n階計算
```
def compute(x):
if x==0:
return 1
if x>=1:
return x*compute(x-1)
x=eval(input())
print(x,"!=",compute(x),sep="")
```
## 計算成績總和與平均
```
def sum(a,b,c,d,e):
f=(a+b+c+d+e)/5
print(f"total = {a+b+c+d+e}\naverage = {f}")
a=eval(input())
b=eval(input())
c=eval(input())
d=eval(input())
e=eval(input())
sum(a,b,c,d,e)
```
## 305.數值運算
```
def compute(index,x,y):
if index==1:
ans=x+y
if index==2:
ans=x*y
return ans
x=eval(input())
index=eval(input())
y=eval(input())
print(compute(index,x,y))
```
## 506. 一元二次方程式
```
ans=0
ant=0
def compute(a,b,c):
r=(b**2)-(4*a*c)
if r<0 or a==0 or b==0 or c==0:
return "Your equation has no root."
else:
ans=((b-b*2)+(r**0.5))/(2*a)
ant=((b-b*2)-(r**0.5))/(2*a)
if ans==ant:
return str(ans)
else:
return str(ans)+", "+str(ant)
a=eval(input())
b=eval(input())
c=eval(input())
print(compute(a,b,c))
```
# 考試
## 01. 串列總和
```
a=[]
sum=0
while True:
try:
n=int(input())
a.append(n)
sum=sum+n
except:
print("内容是",end="")
for i in range(len(a)):
print(f"(a[i])",end="")
print(f",總和 {sum}")
break
```
## 02.函數區間連加計算
```
def f(a,b):
sum=0
for i in range(a,btl):
sum=sum+i
return sum
a=int(input())
b=int(input())
print(f(a,b))
```
## 03.求兩數之間所有3倍數或7倍數的和
```
def f(a,b):
sum=0
for i in range(b,a-1,-1):
if 1%3==0 or 1%7==0:
sum=sum+1
return sum
a=int(input())
b=int(input())
print(f(b,a)) if a>b else print(f(a,b))
```
## 04.停車費問題
```
time=int(input())
ans=0
if time<30:
ans=0
if time>30:
if time%30==0:
ans=int(time/30-1)*15
else:
ans=int(int(time/30)*15)
if ans>240:
ans=240
print(ans)
```
## 05.303.函數質數判斷
```
def compute(n):
if n==2 or n==3 or n==5 or n==7:
return f"{n} is a prime number"
elif n%2!=0 and n%3!=0 and n%5!=0 and n%7!=0:
return f"{n} is a prime number"
else:
return f"{n} is not a prine number"
n=int(input())
print(compute(n))
```
## 06. 工讀生薪資問題
```
time=int(input())
ans=0
if time>120:
ans=60*180+60*180*1.25+(time-120)*180*1.5
elif time>60:
ans=60*180+(time-60)*180*1.25
else:
ans=time*180
print(ans)
```
## 07. 405. 不定數迴圈-分數等級
```
while True:
try:
s=int(input())
if s==-9999:
raise
if s>=90:
print("A")
elif s>=80:
print("B")
elif s>=70:
print("C")
elif s>=60:
print("D")
elif s<60:
print("E")
except:
break
```
## 08. 602. 撲克牌總和
```
sum=0
while True:
try:
joker=str(input())
if joker=="K":
joker=13
if joker=="Q":
joker=12
if joker=="J":
joker=11
if joker=="A":
joker=1
sum=sum+int(joker)
except:
print(sum)
break
```