高慶霖
Learn More →
Learn More →
"""
若多項式的根是有理數,請印出綠色的多項式的因式分解
若多項式的根是無理數,請印出藍色的多項式的根
若多項式的根是複數,請印出紅色的無解
"""
from __future__ import division
from sympy import *
import re
from colorama import init, Fore
def calculate(a, b, c):
#print(a,b,c)
d = (b**2)-(4*a*c)
if(d < 0):
print(Fore.RED + "無解")
else:
a1 = (-b+d**0.5)/(2*a)
a2 = (-b-d**0.5)/(2*a)
x = symbols('x')
f = a*x**2 + b*x + c
if(f == factor(f)):
if(a1!=a2):
print(Fore.BLUE + f"{a1}")
print(Fore.BLUE + f"{a2}")
else:
print(Fore.BLUE + f"{a1}")
else:
print(Fore.GREEN + f"{factor(f)}")
while True:
init(autoreset = True)
try:
f = input()
f = f.replace(' ', '')
#f = 'x^2+666x+2'
#f = '6x^2+5x+1'
#f = 'x^2+2x+1'
#f = '2x^2+x+1'
pattern = '\s*([-+]?)\s*(\d*)\s*[x]\s*\^\s*[2]\s*([-+]?)\s*(\d*)\s*[x]\s*([-+]?)\s*(\d*)\s*'
if(re.search(pattern,f)==None):
raise
if(re.search(pattern,f).group(1) == '+' or re.search(pattern,f).group(1) == ''):
if(re.search(pattern,f).group(2) == ''):
x2 = 1
else:
x2 = int(re.search(pattern,f).group(2))
else:
x2 = int(re.search(pattern,f).group(2))*(-1)
if(re.search(pattern,f).group(3) == '+'):
if(re.search(pattern,f).group(4) == ''):
x1 = 1
else:
x1 = int(re.search(pattern,f).group(4))
else:
x1 = int(re.search(pattern,f).group(4))*(-1)
if(re.search(pattern,f).group(5) == '+'):
x = int(re.search(pattern,f).group(6))
else:
x = int(re.search(pattern,f).group(6))*(-1)
calculate(x2, x1, x)
break
except:
print("輸入錯誤,請學生重新輸入")
[name=高慶霖] Problem2: 程式說明(程式架構,測試方式…): Product(廠商可自行輸入)、ShoppingCart、Shop三個Class建立基本商店 區分消費者與廠商(1、0)的功能廠商:加入產品 消費者:將商品加入購物車、移除購物車中的產品、顯示購物車中的內容、結帳並顯示總金額 程式執行截圖:
Jul 30, 202322-5:動物園人數 [name=Chinglin-K] 目錄:Dice 程式教學-Python完整版 上一篇:22-4:動物園人數 下一篇:23-1:量大的輸入與輸出 題目 寫一個程式,紀錄一周的動物園遊園人數,如下表。
Jul 9, 2022Dice 程式教學-Python完整版 [name=Chinglin-K] :::danger 責任聲明: 本筆記僅供程式解題與教學說明,並無商業用途。 Dice平台-題目、輸出範例與範例程式等,均屬「十八豆教育科技有限公司」旗下平臺「DICE 拓展式學習地圖精準教學平台」所有。 :::
Jul 8, 202224-6:分治法-階乘 [name=Chinglin-K] 目錄:Dice 程式教學-Python完整版 上一篇:24-5:貪心法-最少紙幣兌換 題目 分治法: 將大問題不斷切割成兩個或多個小問題,這樣的過程稱作「Divide」,當切割到最後的小問題,
Jul 8, 2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up