30
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang tìm kiếm một cách để thực hiện một thao tác cộng/trừ trong Python 2 hoặc 3. Tôi không biết lệnh hoặc toán tử và tôi không thể tìm thấy lệnh hoặc toán tử để làm điều này.
Tui bỏ lỡ điều gì vậy?
wjandrea
25K8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 bronze badges
Hỏi ngày 10 tháng 1 năm 2015 lúc 2:27Jan 10, 2015 at 2:27
6
Nếu bạn đang tìm cách in biểu tượng ±, chỉ cần sử dụng:
print[u"\u00B1"]
Đã trả lời ngày 29 tháng 12 năm 2018 lúc 2:28Dec 29, 2018 at 2:28
2
Một khả năng khác: Sự không chắc chắn là một mô -đun để thực hiện các tính toán với dung sai lỗi, tức là
[2.1 +/- 0.05] + [0.6 +/- 0.05] # => [2.7 +/- 0.1]
cái nào sẽ được viết là
from uncertainties import ufloat
ufloat[2.1, 0.05] + ufloat[0.6, 0.05]
EDIT: Tôi đã nhận được một số kết quả kỳ lạ, và sau khi chơi nhiều hơn một chút với điều này, tôi đã tìm ra lý do tại sao: lỗi được chỉ định không phải là dung sai [giới hạn phụ gia khó kết quả tính toán trong I was getting some odd results, and after a bit more playing with this I figured out why: the specified error is not a tolerance [hard additive limits as in engineering blueprints] but a standard-deviation value - which is why the above calculation results in
ufloat[2.7, 0.07071] # not 0.1 as I expected!
Đã trả lời ngày 10 tháng 1 năm 2015 lúc 2:43Jan 10, 2015 at 2:43
Hugh Bothwellhugh BothwellHugh Bothwell
53,9K7 Huy hiệu vàng81 Huy hiệu bạc98 Huy hiệu Đồng7 gold badges81 silver badges98 bronze badges
2
Nếu bạn tình cờ sử dụng matplotlib, bạn có thể in các biểu thức toán học tương tự như với latex. Đối với ký hiệu +/-, bạn sẽ sử dụng:
print[ r"value $\pm$ error" ]
Trong đó r chuyển đổi chuỗi thành định dạng thô và $ -Signs nằm xung quanh một phần của chuỗi là phương trình toán học. Bất kỳ từ nào trong phần này sẽ nằm trong một phông chữ khác và sẽ không có khoảng trắng nào giữa chúng trừ khi được ghi nhận rõ ràng với đúng mã. Điều này có thể được tìm thấy trên trang Reslavent của tài liệu Matplotlib.
Xin lỗi nếu điều này quá thích hợp, nhưng tôi đã vượt qua câu hỏi này khi cố gắng tìm ra câu trả lời này.
Đã trả lời ngày 9 tháng 2 năm 2016 lúc 3:38Feb 9, 2016 at 3:38
Orange Pukekoorange PukekoOrange Pukeko
1571 Huy hiệu vàng2 Huy hiệu bạc8 Huy hiệu đồng1 gold badge2 silver badges8 bronze badges
1
Thay vì tính toán các biểu thức như
s1 = sqrt[[125 + 10 * sqrt[19]] / 366]
s2 = sqrt[[125 - 10 * sqrt[19]] / 366]
bạn đã có thể sử dụng
import numpy as np
pm = np.array[[+1, -1]]
s1, s2 = sqrt[[125 + pm * 10 * sqrt[19]] / 366]
Đã trả lời ngày 14 tháng 8 năm 2017 lúc 23:30Aug 14, 2017 at 23:30
Nico Schlömernico SchlömerNico Schlömer
49K24 Huy hiệu vàng186 Huy hiệu bạc225 Huy hiệu Đồng24 gold badges186 silver badges225 bronze badges
1
Tôi nghĩ rằng bạn muốn điều đó cho một phương trình như thế này;
Vâng, không có toán tử nào cho điều đó trừ khi bạn không sử dụng Sympy, chỉ có bạn mới có thể làm là một câu lệnh
[2.1 +/- 0.05] + [0.6 +/- 0.05] # => [2.7 +/- 0.1]
1 và tìm mỗi số nhân.SymPy, only you can do is make an [2.1 +/- 0.05] + [0.6 +/- 0.05] # => [2.7 +/- 0.1]
1 statement and find each multiplier.Đã trả lời ngày 10 tháng 1 năm 2015 lúc 2:35Jan 10, 2015 at 2:35
0
Vẫn chưa có đối tượng như vậy trong Sympy [như bạn đã thấy, có một vấn đề cho thấy một //github.com/sympy/sympy/issues/5305]. Mặc dù vậy, nó không khó để mô phỏng. Chỉ cần tạo một biểu tượng và trao đổi nó với +1 và -1 riêng biệt ở cuối. Giống
pm = Symbol[u'±'] # The u is not needed in Python 3. I used ± just for pretty printing purposes. It has no special meaning.
expr = 1 + pm*x # Or whatever
# Do some stuff
exprpos = expr.subs[pm, 1]
exprneg = expr.subs[pm, -1]
Bạn cũng có thể theo dõi hai phương trình ngay từ đầu.
Đã trả lời ngày 28 tháng 1 năm 2015 lúc 17:57Jan 28, 2015 at 17:57
Asmeurerasmeerasmeurer
82.3K25 Huy hiệu vàng168 Huy hiệu bạc233 Huy hiệu đồng25 gold badges168 silver badges233 bronze badges
Thay vì tính toán các biểu thức như
s1 = sqrt[[125.0 + 10.0*sqrt[19]] / 366.0]
s2 = sqrt[[125.0 - 10.0*sqrt[19]] / 366.0]
bạn đã có thể sử dụng
r = 10.0*sqrt[19]
s1, s2 = [sqrt[[125.0 + i] / 366.0] for i in [r, -r]]
Đã trả lời ngày 14 tháng 8 năm 2017 lúc 23:30
Nico Schlömernico SchlömerAug 30, 2020 at 17:49
49K24 Huy hiệu vàng186 Huy hiệu bạc225 Huy hiệu Đồngwjandrea
25K8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 bronze badges
Hỏi ngày 10 tháng 1 năm 2015 lúc 2:27
[2.1 +/- 0.05] + [0.6 +/- 0.05] # => [2.7 +/- 0.1]
0Nếu bạn đang tìm cách in biểu tượng ±, chỉ cần sử dụng:
Đã trả lời ngày 29 tháng 12 năm 2018 lúc 2:28Feb 18 at 20:20