---
# System prepended metadata

title: Python

---

# Python
## 01
'''
題目內容：依序輸入國、英、數三科成績，其權值分別為國文4倍、英文3倍、數學3倍，請計算加權平均(國文成績*4+英文成績*3+數學成績*3/10)
請將底線處填入適當的程式碼
'''
ch, en, ma = int(input()), int(input()), int(input())          # int() 將文字強制轉整數
avg = (ch*4+en*3+ma*3)/10
print(avg)
## 02
'''
題目內容：輸入兩點座標(x1, y1), (x2, y2)，輸出兩點距離
請將底線處填入適當的程式碼
'''
x1, y1, x2, y2 = float(input()), float(input()), float(input()), float(input())  # float() 將文字強制轉浮點數(俗稱小數)
dist = ((x2-x1)**2+(y2-y1)**2)**0.5
print(dist)
## 03
'''
題目內容：輸入一個數，請判斷其為奇偶數
請將底線處填入適當的程式碼
'''
n = int(input())
if (n%2==0):
    print("偶數")
else:
    print("奇數")
## 04
'''
題目內容：輸入一個數，請依下列原則輸出對應結果
    3*k(3的倍數) ==> Good
    3*k+1    ==> SoSo
    3*k+2    ==> Bad
'''
n=int(input())
if (n%3==0):
  print('Good')
elif (n%3==1):
  print('SoSo')
else:
  print('Bad')
## 05
'''
題目內容：輸入西元年，請判斷其為閏年或平年
閏年判斷：西元年被400整除 或 西元年被4整除且不被100整除
請將底線處填入適當的程式碼
'''
y = int(input())
if ((y%400==0) or (y%4==0 and y%100!=0)):
    print("閏年")
else:
    print("平年")
## 06
'''
題目內容：輸入一個數，請計算所有數字和
例如：輸入2469，輸出21 (2+4+6+9)
請將底線處填入適當的程式碼
'''
n = int(input())          # 整數版本寫法
sum = 0                   
while (n!=0):           # 直到n變成0為止
    sum =(sum+n%10)     # 重覆一: 將n的個位數加至總和sum
    n =n//10       # 重覆二: 將n的個位數去除

print(sum)
## 07
'''
題目內容：輸入一個數，請計算所有數字和
例如：輸入2469，輸出21 (2+4+6+9)
請將底線處填入適當的程式碼
'''
n = input()               # 字串版本寫法
sum = 0                   
for x in n:               # 走訪字串n的每個字元，存到變數x
    sum =sum+int(x)      # 將變數x轉成整數加至總和sum
 
print(sum)
## 08
'''
題目內容：終極密碼遊戲，電腦隨機從1-100取一個亂數當做密碼，玩家猜錯電腦會給提示
請將底線處填入適當的程式碼
'''
import random                    # 匯入random模組
ans =  random.randint(1,100)     # 利用random模組的randint()函數，從1到100之間取一個亂數
print('請猜一個1~100的數字')
play = True
while(play):
    guess = int(input('來隨便猜一個數字吧: ')) 
    if (guess>ans):
        print('喔你猜得太大囉')
    elif (guess<ans):
        print('喔你猜得太小囉')
    else:
        print('恭喜你猜對了！')
        play = False
## 09
![](https://i.imgur.com/4r9V8Ow.png)
'''
題目內容：輸入n個數，中間以空白間隔，請計算此n數和 [再進化版]
例如：輸入20 30 40，輸出90
'''
num = [int(x) for x in input().split()]         # 此稱之為List Comprehension 列表建構
print(sum(num)))
## 10
'''
線上解題常會遇到測試資料一行有多個數值
可以用以下方法解決
'''
a, b, c = [int(x) for x in input().split()]     # 若題目告知輸入三數以空白間隔，亦可用此方法存入a, b, c三個變數
## 11
 迴圈回應到100 
from pwn import*
r=remote("140.110.112.213" ,2403)
r.recvlines(3)
for i in range(100):
	print(r.recvlines(2))
	r.sendline(str(i+1).encode())
	print(str(i+1))
print(r.recvline())
r.close()
 
## 12
找出第三大的數字
from pwn import*
r=remote("140.110.112.213" ,2400)
r.recvlines(6)
r.recvuntil(b'numbers : ')
l=r.recvline()
num=[int(x) for x in l.split()]
num.sort(reverse=True)
r.sendlineafter(b"answer : ",str(num[2]).encode())
print(r.recvline())
r.close()