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

#題目:列出三位數的“水仙花數”,
#所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身
#例如: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()

# 輸出結果如下:

# 有四個數字:1,2,3,4,則能組成多少個互不相同且無重複數字的三位數?

#題目:有四個數字:1,2,3,4,則能組成多少個互不相同且無重複數字的三位數?

#Python 程式碼如下

num=[1,2,3,4]
i=0
for a in num:
    for b in num:
        for c in num:
            if (a!=b) and (b!=c) and (c!=a):
                i+=1
                print(a,b,c)
print('總數:',i) 

# 輸出結果如下:
1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2
總數: 24