Có hàm vuông nào trong Python không?

Chúng tôi sẽ cung cấp số và chúng tôi sẽ lấy bình phương của số đó làm đầu ra. Chúng tôi có ba cách để làm như vậy

  • Nhân số để có bình phương (N * N)
  • Sử dụng toán tử lũy thừa
  • Sử dụng toán học. phương thức pow()

Phương pháp 1. Phép nhân

Trong phương pháp này, chúng ta sẽ nhân các số với nhau để lấy bình phương của số

Ví dụ

Python3




16
9

16
0
16
1
16
2

 

16
3

16
4

16
0
16
1
16
0
16
3
16
0

 

16
5

16
6
16
7

đầu ra

16

Phương pháp 2. Sử dụng toán tử lũy thừa

Trong cách tiếp cận này, chúng tôi sử dụng toán tử số mũ để tìm bình phương của số

Toán tử số mũ. **

Trở lại. a ** b sẽ trả lại a được nâng lên thành công suất b làm đầu ra

Ví dụ

Python3




16
9

16
0
16
1
16
2

 

16
2

16
3

16
0
16
1
16
0
16
3
16
3
16
9

 

16
5

16
6
16
7

đầu ra

16

Phương pháp 3. Sử dụng phương thức pow()

Trong cách tiếp cận này, chúng ta sẽ sử dụng phương thức pow() để tìm bình phương của số. Hàm này tính toán x**y và trả về giá trị float làm đầu ra

(Mình dùng tên khác để dễ so sánh nhé. ) Cái sau trước tiên sử dụng một số kiểm tra mô-đun sẽ tăng tốc đáng kể, nhưng nó có quá nhiều chi phí chuyển đổi và thử nghiệm (

16
4,
16
5, hình vuông trở thành lũy thừa bậc n với n=2, số nguyên được chuyển đổi từ "nhỏ" thành bội số . ) mà tất cả các lợi thế bị mất. Sau rất nhiều thử nghiệm, nó gần như làm được như trên, sử dụng ntheory. nthroot, một lần nữa là quá mức cần thiết. được thiết kế cho bất kỳ căn bậc n nào, căn bậc hai chỉ là một trường hợp đặc biệt và ghi chú được tối ưu hóa cho trường hợp này. Một số chương trình con ở đó thậm chí còn thực hiện các phép tính dấu phẩy động rất kỳ lạ, bao gồm cả phép nhân với 1. 0000000001 và những nỗi kinh hoàng tương tự. Tôi đã từng nhận được thông báo lỗi khủng khiếp sau đây. (Đầu ra ban đầu có đường dẫn đầy đủ
16
6 thay vì mỗi ". " phía dưới. )

16
6

Điều này cho một ý tưởng hay về vực thẳm mà ________ 38 của ________ 37 chết đuối trong vô vọng

Tài liệu. xem

16
8 trong Sympy's Ntheory Class Reference

P. S. FWIW, liên quan đến các câu trả lời khác gợi ý sử dụng

16
0, v.v., hãy để tôi đề cập ở đây rằng
16
60 (. ), ví dụ khi n là số nguyên tố thứ 26 và 27 -- không phải số cực lớn. Vì vậy, rõ ràng, việc sử dụng
16
61 là không đủ