Hướng dẫn convert string to polynomial python - chuyển đổi chuỗi thành đa thức python
Tôi đang viết một chương trình trong Java sẽ sử dụng đa thức. Tôi cần có khả năng thể hiện đa thức dựa trên thứ mà người dùng nhập vào. Show
Ví dụ, người dùng có thể nhập chuỗi sau. " 5"Các đa thức cho điều này ở đây sẽ là 6Nhưng đây là điều bắt được. Tôi không thể chia từng số trong chuỗi thành ints riêng biệt bằng cách sử dụng parse, điều này sẽ quá dễ dàng! Bởi vì chuỗi có thể có bất kỳ số số nào trong đó, ví dụ này có 5 số khác có thể có 6 hoặc ít hơn thế. Bất kỳ ý tưởng nào về cách tôi có thể thể hiện một đa thức trong Java? \ $ \ beingroup \ $ Hàm 2 có giá trị hệ số và công suất và sử dụng các đặc điểm của hai người đó để chọn chuỗi định dạng phù hợp để tạo chuỗi đại diện cho một thuật ngữ riêng lẻ.
7 là phiên bản tùy chỉnh của 8 hỗ trợ bước biến. Kết quả trông như thế này:
Làm cách nào để làm cho mã này thanh lịch hơn và có thể chung chung hơn? Ồ, và kết quả là tối ưu phụ, vì các thuật ngữ tiêu cực được đặt trong ngoặc, thay vì thay đổi dấu cộng trước đó thành dấu trừ.
200_success Phù bằng vàng 143K2222 gold badges185 silver badges468 bronze badges Đã hỏi ngày 18 tháng 6 năm 2014 lúc 16:21Jun 18, 2014 at 16:21
\ $ \ endgroup \ $ \ $ \ beingroup \ $ 7 của bạn là một liên lạc tốt đẹp nhưng tôi không hoàn toàn tin rằng điều này là cần thiết: nếu bạn chơi với chiều dài bằng tay, bạn cũng có thể tính toán sức mạnh từ chỉ mục theo cách thủ công.Ngoài ra, nếu bạn xử lý tiêu cực với điểm trừ thay vì cộng, bạn sẽ có thể thoát khỏi giá đỡ. Mặt khác, bạn không thể sử dụng 0 nữa, điều này hơi đau vì nó là một chức năng mát mẻ và hiệu quả.Dù sao, đây là lần thử của tôi:
và đầu ra tương ứng:
Tìm thấy lỗi Khi tôi đang nhìn vào triển khai ban đầu của mình, tôi đã tìm thấy một lỗi xảy ra trong bạn: Hãy thử với 1.Đã trả lời ngày 18 tháng 6 năm 2014 lúc 17:12Jun 18, 2014 at 17:12
SylvaindsylvaindSylvainD Huy hiệu vàng 28.9K11 gold badge44 silver badges92 bronze badges \ $ \ endgroup \ $ 2 \ $ \ beingroup \ $ 7 của bạn là một liên lạc tốt đẹp nhưng tôi không hoàn toàn tin rằng điều này là cần thiết: nếu bạn chơi với chiều dài bằng tay, bạn cũng có thể tính toán sức mạnh từ chỉ mục theo cách thủ công.
Ngoài ra, nếu bạn xử lý tiêu cực với điểm trừ thay vì cộng, bạn sẽ có thể thoát khỏi giá đỡ. Mặt khác, bạn không thể sử dụng 0 nữa, điều này hơi đau vì nó là một chức năng mát mẻ và hiệu quả.Dù sao, đây là lần thử của tôi:
và đầu ra tương ứng:Jun 19, 2014 at 0:08
Tìm thấy lỗiEdward Khi tôi đang nhìn vào triển khai ban đầu của mình, tôi đã tìm thấy một lỗi xảy ra trong bạn: Hãy thử với \ $ \ endgroup \ $ 3 \ $ \ beingroup \ $ >>> poly([2,0,3,-4,-3,2,0,1,10]) '2x^8 + 3x^6 + (-4x^5) + (-3x^4) + 2x^3 + x + 10' 7 7 của bạn là một liên lạc tốt đẹp nhưng tôi không hoàn toàn tin rằng điều này là cần thiết: nếu bạn chơi với chiều dài bằng tay, bạn cũng có thể tính toán sức mạnh từ chỉ mục theo cách thủ công.
Ngoài ra, nếu bạn xử lý tiêu cực với điểm trừ thay vì cộng, bạn sẽ có thể thoát khỏi giá đỡ. Mặt khác, bạn không thể sử dụng 0 nữa, điều này hơi đau vì nó là một chức năng mát mẻ và hiệu quả.
Dù sao, đây là lần thử của tôi:
def poly(p, var_string='x'): res = '' first_pow = len(p) - 1 for i, coef in enumerate(p): power = first_pow - i if coef: if coef < 0: sign, coef = (' - ' if res else '- '), -coef elif coef > 0: # must be true sign = (' + ' if res else '') str_coef = '' if coef == 1 and power != 0 else str(coef) if power == 0: str_power = '' elif power == 1: str_power = var_string else: str_power = var_string + '^' + str(power) res += sign + str_coef + str_power return res 9
và đầu ra tương ứng: Tìm thấy lỗi
Khi tôi đang nhìn vào triển khai ban đầu của mình, tôi đã tìm thấy một lỗi xảy ra trong bạn: Hãy thử với def poly(p, var_string='x'): res = '' first_pow = len(p) - 1 for i, coef in enumerate(p): power = first_pow - i if coef: if coef < 0: sign, coef = (' - ' if res else '- '), -coef elif coef > 0: # must be true sign = (' + ' if res else '') str_coef = '' if coef == 1 and power != 0 else str(coef) if power == 0: str_power = '' elif power == 1: str_power = var_string else: str_power = var_string + '^' + str(power) res += sign + str_coef + str_power return res 1.Đã trả lời ngày 18 tháng 6 năm 2014 lúc 17:12 0f-stringSylvaindsylvaind 1yieldHuy hiệu vàng 28.9K1 23 4Tôi nghĩ rằng có một cách đơn giản hơn để làm điều này:Apr 26, 2019 at 10:44
Hàm 2 có giá trị hệ số và công suất và sử dụng các đặc điểm của hai người đó để chọn chuỗi định dạng phù hợp để tạo chuỗi đại diện cho một thuật ngữ riêng lẻ.Maarten FabréHàm \ $ \ endgroup \ $ 2 Làm thế nào để bạn tạo ra một phương trình đa thức trong Python?Chương trình Python để tính toán một phương trình đa thức.. Nhập mô -đun toán học .. Lấy các hệ số của phương trình đa thức và lưu trữ nó trong danh sách .. Lấy giá trị của x .. Sử dụng một vòng lặp và trong khi vòng lặp để tính toán giá trị của biểu thức đa thức cho ba thuật ngữ đầu tiên và lưu trữ nó trong một biến tổng .. Làm thế nào để bạn in một đa thức trong Python?Lớp được đưa ra một danh sách đại diện cho các hệ số của đa thức và số mũ của chúng được đưa ra bởi vị trí mà các hệ số nằm trong danh sách.Ví dụ: [2, -3,0,5] sẽ cho 2x^3-3x^2+5.Khi cố gắng in p1 = đa thức ([2,3,4]) tôi nhận được p1 = 3x+4x^2.. For example [2,-3,0,5] would give 2x^3-3x^2+5 . When trying to print p1 = Polynomial([2,3,4]) I get p1 = 3x+4x^2 .
Làm thế nào để bạn nhập một đa thức trong Python?Mã này sẽ được sử dụng để lấy đầu vào của đa thức làm y chẳng hạn.y = x ** 2 + x*4 và nó lấy đầu vào của x làm giá trị nổi như nếu tôi cho 2 cho x thì biểu thức này sẽ in 12.y = x**2 + x*4 and it takes input of x as float value like if i give 2 for x then this expression will prints 12.
Làm thế nào để bạn tìm thấy một phương trình đa thức?Để giải một phương trình đa thức, trước tiên hãy viết nó ở dạng tiêu chuẩn. Một cách bằng 0, hệ số nó và sau đó đặt từng yếu tố biến bằng 0.Các giải pháp cho các phương trình kết quả là các giải pháp cho bản gốc.Không phải tất cả các phương trình đa thức có thể được giải quyết bằng cách bao thanh toán.first write it in standard form. Once it is equal to zero, factor it and then set each variable factor equal to zero. The solutions to the resulting equations are the solutions to the original. Not all polynomial equations can be solved by factoring. |