# 簡單數學運算

#題目:簡單數學運算

#Python 程式碼如下

A=7
B=3
print("A+B=",A+B)  
print("A-B=",A-B)
print("A*B=",A*B)  
print("A/B=",A/B)     #浮點除法
print("A//B=",A//B)   #整數(捨去)除法
print("A%B=",A%B)     #餘數
print("A**B=",A**B)   #乘冪 

# 輸出結果如下:
A+B= 10
A-B= 4
A*B= 21
A/B= 2.3333333333333335
A//B= 2
A%B= 1
A**B= 343

# 列出三位數的“水仙花數”

#題目:列出三位數的“水仙花數”,
#所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身
#例如:153是一個“水仙花數”,因為153= 1 的三次方+5的三次方+3的三次方。

#Python 程式碼如下

for x in range(10):
    for y in range(10):
        for z in range(10):
            w = x*100 + y*10 + z
            if (w>100) and (w == x**3 + y**3 + z**3):
                print (w)

# 輸出結果如下:
153
370
371
407

# 輸出一個隨機數

#Python 程式碼如下

import random
print (random.random())           #输入0-1之间的随机数
print (random.uniform(10,20))     #输出10-20之间的随机数
print (random.randint(10,20))     #输出10-20之间的随机整数
print (random.choice([x for x in range(1,100)])) #输出1-99间的随机数

# 輸出結果如下:
0.9481565281460353
13.202517030705241
20
82

# 兩個乒乓球隊進行比賽,甲隊為A,B,C三人,乙隊為X,Y,Z三人,若抽籤決定比賽名單,已知A不和X比,C不和X,Z比,請找出比賽的名單。

#題目:兩個乒乓球隊進行比賽,甲隊為A,B,C三人,乙隊為X,Y,Z三人
#若抽籤決定比賽名單,已知A不和X比,C不和X,Z比,請找出比賽的名單。

#Python 程式碼如下

for a in ['X','Y','Z']:
    for b in ['X', 'Y', 'Z']:
        for c in ['X', 'Y', 'Z']:
            if(a!=b)and(b!=c)and(c!=a) and (a!='X') and (c!='X') and (c!='Z'):
                print ('A 和',a,'比赛')
                print ('B 和',b,'比赛')
                print ('C 和',c,'比赛')
                
# 輸出結果如下:
A 和 Z 比赛
B 和 X 比赛
C 和 Y 比赛

# y=a*sin(b*x+c)+d 與 y=sin x 函數圖形的關係

#題目: y=a*sin(b*x+c)+d 與 y=sin x 函數圖形的關係

#Python 程式碼如下

import numpy as np
import matplotlib.pyplot as plt

a=1.0
b=2.0
c=-0.0
d=0.0

# 產生x座標的資料,從 -2PI 到 2PI
x1 = np.arange(-2*np.pi, 2*np.pi,0.1)
x2 = np.arange(-2*np.pi, 2*np.pi,0.02)

Sin_y1 = np.sin(x1)
Sin_y2 = a*np.sin(b*x2+c)+d

plt.figure(figsize=(8,6),dpi=80)

ax = plt.gca()  # gca stands for 'get current axis'
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

plt.plot(x1,Sin_y1, color="red", linewidth=2.0, linestyle=":", label="y=sin(x)")
plt.plot(x2,Sin_y2, color="blue", linewidth=2.0, linestyle="-", label="y=a*sin(b*x+c)+d")

plt.legend(loc='upper right')

plt.show()

# 輸出結果如下: