Theo dõi mã của bạn để hiểu lý do tại sao nó không hoạt động:
UserAnswer= input[]
Dòng này không cung cấp lời nhắc cho người dùng. Sau đó, nó sẽ đọc các ký tự từ đầu vào tiêu chuẩn cho đến khi nó đến cuối dòng. Các ký tự đọc được gán cho biến
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
8 [dưới dạng loại while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
9].if UserAnswer == input[]:
Một lần nữa không cung cấp lời nhắc cho người dùng trước khi đọc đầu vào. Đầu vào mới được so sánh với giá trị trong
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
8 [vừa được nhập vào dòng trước đó]. Nếu đầu vào mới này bằng với đầu vào trước đó thì hãy thực hiện khối tiếp theo.UserAnswer= float[input[]]
Lần thứ ba liên tiếp, hãy đọc đầu vào mà không trình bày lời nhắc. Cố gắng phân tích đầu vào thứ ba này dưới dạng số điểm nổi. Một ngoại lệ sẽ được nâng lên nếu đầu vào mới này không thể được phân tích cú pháp. Nếu nó được phân tích cú pháp, nó được gán cho
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
8.elif UserAnswer != float[] :
Biểu thức này chỉ được đánh giá khi đầu vào thứ hai không bằng lần thứ nhất. Nếu điều này là khó hiểu, thì đó là vì mã cũng khó hiểu như nhau [và có lẽ không phải là những gì bạn muốn]. Đầu vào đầu tiên [là một chuỗi] được so sánh với một đối tượng float mới được tạo với giá trị mặc định được trả về bởi hàm
>>> type[1]
2.Vì một chuỗi không bao giờ bằng một chiếc phao này, thử nghiệm không bình đẳng này sẽ luôn đúng.
print["Please enter a correct input"]
Và do đó, thông điệp này được in.
Thay đổi toàn bộ phần mã này thành một cái gì đó như thế này [nhưng đây chỉ là một ví dụ đại diện, trên thực tế, bạn có thể muốn một số hành vi khác nhau]:
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
Bạn không cần phải là một người chơi toán để lập trình tốt. Sự thật là, rất ít lập trình viên cần biết nhiều hơn đại số cơ bản. Tất nhiên, bao nhiêu toán học bạn cần biết phụ thuộc vào ứng dụng mà bạn đang làm việc. Nói chung, mức độ toán học cần thiết để trở thành một lập trình viên thấp hơn bạn mong đợi. Mặc dù lập trình toán học và máy tính không có mối tương quan như một số người có thể tin, nhưng các con số là một phần không thể thiếu của bất kỳ ngôn ngữ lập trình nào và Python cũng không ngoại lệ.numbers are an integral part of any programming language, and Python is no exception.
Trong hướng dẫn này, bạn sẽ học cách:
- Tạo số nguyên và số điểm nổiintegers and floating-point numbers
- Số tròn đến một số vị trí thập phân nhất định to a given number of decimal places
- Định dạng và số hiển thị trong chuỗistrings
Bắt đầu nào!
Số nguyên và số điểm nổi
Python có ba loại dữ liệu số tích hợp: số nguyên, số dấu phẩy động và số phức. Trong phần này, bạn sẽ tìm hiểu về số nguyên và số dấu phẩy động, là hai loại số được sử dụng phổ biến nhất. Bạn sẽ tìm hiểu về các số phức tạp trong một phần sau.
Số nguyên
Một số nguyên là một số toàn bộ không có vị trí thập phân. Ví dụ,
>>> type[1]
3 là một số nguyên, nhưng >>> type[1]
4 isn. Tên cho kiểu dữ liệu số nguyên là >>> type[1]
5, mà bạn có thể thấy với >>> type[1]
6:integer is a whole number with no decimal places. For example, >>> type[1]
3 is an integer, but >>> type[1]
4 isn’t. The name for the integer data type is >>> type[1]
5, which you can see with >>> type[1]
6:>>>
>>> type[1]
Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên
>>> type[1]
7 cho biến >>> type[1]
8:Khi bạn tạo một số nguyên như thế này, giá trị
>>> type[1]
7 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.integer literal because the integer is literally typed into the code.Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng
>>> 1000000
1000000
>>> 1_000_000
1000000
0. Ví dụ: sau đây chuyển đổi chuỗi >>> 1000000
1000000
>>> 1_000_000
1000000
1 thành số nguyên >>> type[1]
7:>>> 1000000
1000000
>>> 1_000_000
1000000
3 không phải là một số nguyên theo nghĩa đen vì giá trị số nguyên được tạo từ một chuỗi.Khi bạn viết số lượng lớn bằng tay, bạn thường nhóm các chữ số thành các nhóm ba được phân tách bằng dấu phẩy hoặc dấu thập phân. Số 1.000.000 dễ đọc hơn 1000000.
Trong Python, bạn có thể sử dụng dấu phẩy để nhóm các chữ số trong các chữ số nguyên, nhưng bạn có thể sử dụng dấu gạch dưới [
>>> 1000000
1000000
>>> 1_000_000
1000000
4]. Cả hai điều sau đây đều là những cách hợp lệ để đại diện cho số một triệu là một số nguyên theo nghĩa đen:>>>
>>> 1000000
1000000
>>> 1_000_000
1000000
Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên
>>> type[1]
7 cho biến >>> type[1]
8:Khi bạn tạo một số nguyên như thế này, giá trị >>> type[1]
7 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.
>>> type[1]
Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng
>>> 1000000
1000000
>>> 1_000_000
1000000
0. Ví dụ: sau đây chuyển đổi chuỗi >>> 1000000
1000000
>>> 1_000_000
1000000
1 thành số nguyên >>> type[1]
7:floating-point number, or float for short, is a number with a decimal place. >>> type[1]
4 is a floating-point number, as is >>> 1000000
1000000
>>> 1_000_000
1000000
6. The name of the floating-point data type is >>> 1000000
1000000
>>> 1_000_000
1000000
7:
>>>
>>> type[1.0]
Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên
>>> type[1]
7 cho biến >>> type[1]
8:floating-point literals or by converting a string to a float with >>> type[1]
2:>>>
>>> float["1.25"]
1.25
Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên
>>> type[1]
7 cho biến >>> type[1]
8:>>>
if UserAnswer == input[]:
0Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên
>>> type[1]
7 cho biến >>> type[1]
8:E notation to create a float literal.Khi bạn tạo một số nguyên như thế này, giá trị
>>> type[1]
7 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng
>>> 1000000
1000000
>>> 1_000_000
1000000
0. Ví dụ: sau đây chuyển đổi chuỗi >>> 1000000
1000000
>>> 1_000_000
1000000
1 thành số nguyên >>> type[1]
7:>>>
if UserAnswer == input[]:
1Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên
>>> type[1]
7 cho biến >>> type[1]
8:Khi bạn tạo một số nguyên như thế này, giá trị
>>> type[1]
7 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng
>>> 1000000
1000000
>>> 1_000_000
1000000
0. Ví dụ: sau đây chuyển đổi chuỗi >>> 1000000
1000000
>>> 1_000_000
1000000
1 thành số nguyên >>> type[1]
7:>>> 1000000
1000000
>>> 1_000_000
1000000
3 không phải là một số nguyên theo nghĩa đen vì giá trị số nguyên được tạo từ một chuỗi.
Khi bạn viết số lượng lớn bằng tay, bạn thường nhóm các chữ số thành các nhóm ba được phân tách bằng dấu phẩy hoặc dấu thập phân. Số 1.000.000 dễ đọc hơn 1000000.
>>>
if UserAnswer == input[]:
2Python cũng sử dụng
>>> float["1.25"]
1.25
8, là viết tắt của Vô cực âm và đại diện cho một số điểm nổi âm vượt quá số điểm nổi tối thiểu được phép trên máy tính của bạn:Có lẽ bạn đã thắng được tình cờ gặp
>>> float["1.25"]
1.25
4 và >>> float["1.25"]
1.25
8 rất thường xuyên với tư cách là một lập trình viên trừ khi bạn thường xuyên làm việc với số lượng cực kỳ lớn.Kiểm tra việc hiểu của bạn
Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn:
Viết một chương trình tạo hai biến,
if UserAnswer == input[]:
01 và if UserAnswer == input[]:
02. Cả if UserAnswer == input[]:
01 và if UserAnswer == input[]:
02 nên được gán số nguyên theo nghĩa đen if UserAnswer == input[]:
05, một được viết bằng dấu gạch dưới và một không có. In if UserAnswer == input[]:
01 và if UserAnswer == input[]:
02 trên hai dòng riêng biệt.Bạn có thể mở rộng khối bên dưới để xem giải pháp:
Đầu tiên, gán giá trị
if UserAnswer == input[]:
05 cho if UserAnswer == input[]:
01 mà không có bất kỳ dấu gạch dưới nào:Tiếp theo, trên một dòng mới, gán giá trị
if UserAnswer == input[]:
10 cho biến if UserAnswer == input[]:
02:In cả hai biến trên các dòng riêng biệt bằng cách chuyển từng biến cho các cuộc gọi riêng biệt của
if UserAnswer == input[]:
12:Trong đầu ra, bạn có thể thấy rằng cả hai số đều giống nhau:
Mặc dù cả hai biến được gán giá trị
if UserAnswer == input[]:
05, việc viết giá trị bằng cách sử dụng dấu gạch dưới cho các chữ số nhóm giúp con người nhanh chóng dễ dàng tìm ra số đó là gì. Không còn nheo mắt vào màn hình và cố gắng đếm số 0!Khi bạn đã sẵn sàng, bạn có thể chuyển sang phần tiếp theo.
Toán học số học và biểu thức
Trong phần này, bạn sẽ học cách thực hiện số học cơ bản, chẳng hạn như bổ sung, trừ, nhân và chia, với số lượng trong Python. Trên đường đi, bạn sẽ học một số quy ước để viết các biểu thức toán học trong mã.
Phép cộng
Ngoài ra được thực hiện với toán tử
>>> type[1.0]
6:Hai số ở hai bên của toán tử
>>> type[1.0]
6 được gọi là toán hạng. Trong ví dụ trên, cả hai toán hạng là số nguyên, nhưng các toán hạng don don cần phải là cùng một loại.operands. In the above example, both operands are integers, but operands don’t need to be the same type. Bạn có thể thêm
>>> type[1]
5 vào >>> 1000000
1000000
>>> 1_000_000
1000000
7 mà không có vấn đề gì:Lưu ý rằng kết quả của
if UserAnswer == input[]:
18 là if UserAnswer == input[]:
19, đó là >>> 1000000
1000000
>>> 1_000_000
1000000
7. Bất cứ khi nào >>> 1000000
1000000
>>> 1_000_000
1000000
7 được thêm vào một số, kết quả là một >>> 1000000
1000000
>>> 1_000_000
1000000
7 khác. Thêm hai số nguyên với nhau luôn luôn dẫn đến một >>> type[1]
5.Phép trừ
Để trừ hai số, chỉ cần đặt một toán tử
if UserAnswer == input[]:
24 giữa chúng:>>>
if UserAnswer == input[]:
3Cũng giống như thêm hai số nguyên, trừ hai số nguyên luôn dẫn đến
>>> type[1]
5. Bất cứ khi nào một trong các toán hạng là >>> 1000000
1000000
>>> 1_000_000
1000000
7, kết quả cũng là >>> 1000000
1000000
>>> 1_000_000
1000000
7.Toán tử
if UserAnswer == input[]:
24 cũng được sử dụng để biểu thị số âm:Bạn có thể trừ một số âm từ một số khác, nhưng như bạn có thể thấy bên dưới, điều này đôi khi có vẻ khó hiểu:
>>>
if UserAnswer == input[]:
4Trong bốn ví dụ ở trên, đầu tiên là PEP 8 tuân thủ nhiều nhất. Điều đó nói rằng, bạn có thể bao quanh
if UserAnswer == input[]:
29 với dấu ngoặc đơn để làm cho nó rõ ràng hơn rằng if UserAnswer == input[]:
24 thứ hai đang sửa đổi if UserAnswer == input[]:
31:Sử dụng dấu ngoặc đơn là một ý tưởng tốt vì nó làm cho mã của bạn rõ ràng hơn. Máy tính thực thi mã, nhưng con người đọc mã. Bất cứ điều gì bạn có thể làm để làm cho mã của bạn dễ đọc và hiểu là một điều tốt.
Phép nhân
Để nhân hai số, hãy sử dụng toán tử
if UserAnswer == input[]:
32:>>>
if UserAnswer == input[]:
5Loại số bạn nhận được từ phép nhân tuân theo các quy tắc tương tự như cộng và trừ. Nhân hai số nguyên kết quả trong một
>>> type[1]
5 và nhân số một số với >>> 1000000
1000000
>>> 1_000_000
1000000
7 dẫn đến >>> 1000000
1000000
>>> 1_000_000
1000000
7.Phân công
Toán tử
if UserAnswer == input[]:
36 được sử dụng để chia hai số:>>>
if UserAnswer == input[]:
6Không giống như bổ sung, trừ và phép nhân, phân chia với toán tử
if UserAnswer == input[]:
36 luôn trả về >>> 1000000
1000000
>>> 1_000_000
1000000
7. Nếu bạn muốn đảm bảo rằng bạn nhận được một số nguyên sau khi chia hai số, bạn có thể sử dụng >>> 1000000
1000000
>>> 1_000_000
1000000
0 để chuyển đổi kết quả:Hãy nhớ rằng
>>> 1000000
1000000
>>> 1_000_000
1000000
0 loại bỏ bất kỳ phần phân số nào của số: if UserAnswer == input[]:
41 Trả về số điểm nổi if UserAnswer == input[]:
42 và if UserAnswer == input[]:
43 trả về số nguyên if UserAnswer == input[]:
44 với if UserAnswer == input[]:
45 bị loại bỏ.Phân chia số nguyên
Nếu viết
if UserAnswer == input[]:
46 có vẻ hơi dài với bạn, Python cung cấp một nhà điều hành phân chia thứ hai có tên là nhà điều hành bộ phận số nguyên [ if UserAnswer == input[]:
47], còn được gọi là nhà điều hành phân chia sàn:integer
division operator [ if UserAnswer == input[]:
47], also known as the floor division operator:>>>
if UserAnswer == input[]:
7Toán tử
if UserAnswer == input[]:
47 trước tiên chia số bên trái cho số bên phải và sau đó làm tròn xuống một số nguyên. Điều này có thể không cung cấp giá trị bạn mong đợi khi một trong các số là âm.Ví dụ:
if UserAnswer == input[]:
49 trả về if UserAnswer == input[]:
50. Đầu tiên, if UserAnswer == input[]:
29 được chia cho if UserAnswer == input[]:
44 để nhận if UserAnswer == input[]:
53. Sau đó if UserAnswer == input[]:
53 được làm tròn xuống if UserAnswer == input[]:
50. Mặt khác, if UserAnswer == input[]:
56 trả về >>> type[1]
3 vì cả hai số đều dương.Ví dụ trên cũng minh họa rằng
if UserAnswer == input[]:
47 trả về số điểm nổi khi một trong các toán hạng là >>> 1000000
1000000
>>> 1_000_000
1000000
7. Đây là lý do tại sao if UserAnswer == input[]:
60 trả về số nguyên if UserAnswer == input[]:
31 và if UserAnswer == input[]:
62 trả về >>> 1000000
1000000
>>> 1_000_000
1000000
7 if UserAnswer == input[]:
64.Hãy để xem những gì xảy ra khi bạn cố gắng chia một số cho
if UserAnswer == input[]:
65:>>>
if UserAnswer == input[]:
8Python cung cấp cho bạn một
if UserAnswer == input[]:
66, cho bạn biết rằng bạn chỉ cố gắng phá vỡ một quy tắc cơ bản của vũ trụ.Số mũ
Bạn có thể nâng một số lên nguồn điện bằng toán tử
if UserAnswer == input[]:
67:>>>
if UserAnswer == input[]:
9 if UserAnswer == input[]:
8
>>>
UserAnswer= float[input[]]
0 if UserAnswer == input[]:
8Python cung cấp cho bạn một
if UserAnswer == input[]:
66, cho bạn biết rằng bạn chỉ cố gắng phá vỡ một quy tắc cơ bản của vũ trụ.Số mũ
>>>
UserAnswer= float[input[]]
1Bạn có thể nâng một số lên nguồn điện bằng toán tử
if UserAnswer == input[]:
67:Số mũ don don phải là số nguyên. Chúng cũng có thể là phao:
Tăng một số vào sức mạnh của
if UserAnswer == input[]:
68 giống như lấy căn bậc hai, nhưng lưu ý rằng mặc dù căn bậc hai của if UserAnswer == input[]:
69 là một số nguyên, Python trả về >>> 1000000
1000000
>>> 1_000_000
1000000
7 if UserAnswer == input[]:
19.modulus, returns the remainder of dividing the left operand by the right operand:>>>
UserAnswer= float[input[]]
2Đối với các toán hạng tích cực, toán tử
if UserAnswer == input[]:
67 sẽ trả về >>> type[1]
5 nếu cả hai toán hạng là số nguyên và >>> 1000000
1000000
>>> 1_000_000
1000000
7 nếu bất kỳ một trong các toán hạng là số điểm nổi.Bạn cũng có thể tăng số lên các quyền lực tiêu cực:
>>>
UserAnswer= float[input[]]
3Tăng một con số lên một sức mạnh tiêu cực giống như chia
>>> type[1]
3 cho số được nâng lên công suất tích cực. Vì vậy, if UserAnswer == input[]:
76 giống như if UserAnswer == input[]:
77, giống như if UserAnswer == input[]:
78 hoặc if UserAnswer == input[]:
68. Tương tự, if UserAnswer == input[]:
80 giống như if UserAnswer == input[]:
81, giống như if UserAnswer == input[]:
82 hoặc if UserAnswer == input[]:
83.Toán tử mô đun
>>>
UserAnswer= float[input[]]
4Toán tử
if UserAnswer == input[]:
84 hoặc mô đun, trả về phần còn lại của việc chia toán hạng bên trái cho toán hạng bên phải: if UserAnswer == input[]:
31 Chia if UserAnswer == input[]:
86 Một lần với phần còn lại là if UserAnswer == input[]:
44, vì vậy if UserAnswer == input[]:
88 là if UserAnswer == input[]:
44. Tương tự, if UserAnswer == input[]:
90 chia if UserAnswer == input[]:
91 hai lần với phần còn lại là if UserAnswer == input[]:
92. Trong ví dụ cuối cùng, if UserAnswer == input[]:
93 chia hết cho if UserAnswer == input[]:
94, vì vậy if UserAnswer == input[]:
95 là if UserAnswer == input[]:
65. Bất cứ khi nào số ở bên trái của if UserAnswer == input[]:
84 đều chia hết cho số bên phải, kết quả là if UserAnswer == input[]:
65.Một trong những cách sử dụng phổ biến nhất của if UserAnswer == input[]:
84 là xác định xem một số có chia hết cho một số khác hay không. Ví dụ: một số UserAnswer= float[input[]]
00 là ngay cả khi và chỉ khi UserAnswer= float[input[]]
01 là if UserAnswer == input[]:
65. Bạn nghĩ gì UserAnswer= float[input[]]
03 trở lại? Hãy để thử nó ra:
if UserAnswer == input[]:
UserAnswer= float[input[]]
UserAnswer= float[input[]]
if UserAnswer == input[]:
UserAnswer= float[input[]]
Điều này có ý nghĩa bởi vì
UserAnswer= float[input[]]
03 đưa ra phần còn lại của việc chia >>> type[1]
3 cho if UserAnswer == input[]:
65. Nhưng bạn có thể chia >>> type[1]
3 cho if UserAnswer == input[]:
65, vì vậy Python tăng if UserAnswer == input[]:
66.expression is a combination of numbers, operators, and parentheses that Python can compute, or evaluate, to return a value.Mọi thứ trở nên khó khăn khi bạn sử dụng toán tử
if UserAnswer == input[]:
84 với số âm:>>>
UserAnswer= float[input[]]
5
Mặc dù có khả năng gây sốc ngay từ cái nhìn đầu tiên, những kết quả này là sản phẩm của một hành vi được xác định rõ ở Python. Để tính phần còn lại
UserAnswer= float[input[]]
11 chia số UserAnswer= float[input[]]
12 cho một số UserAnswer= float[input[]]
13, Python sử dụng phương trình UserAnswer= float[input[]]
14.order of operations.Ví dụ: để tìm
UserAnswer= float[input[]]
15, Python lần đầu tiên tìm thấy UserAnswer= float[input[]]
16. Vì UserAnswer= float[input[]]
17 là khoảng UserAnswer= float[input[]]
18, điều đó có nghĩa là UserAnswer= float[input[]]
19 là if UserAnswer == input[]:
50. Bây giờ Python nhân với if UserAnswer == input[]:
29 để nhận if UserAnswer == input[]:
92. Cuối cùng, Python trừ if UserAnswer == input[]:
92 từ if UserAnswer == input[]:
86 để nhận UserAnswer= float[input[]]
25.precedence, or priority, in an expression, and each of these has a higher precedence than the >>> type[1.0]
6 and if UserAnswer == input[]:
24 operators. This is why UserAnswer= float[input[]]
32 returns if UserAnswer == input[]:
86 and not UserAnswer= float[input[]]
34. UserAnswer= float[input[]]
35 is evaluated first, because if UserAnswer == input[]:
32
has higher precedence than the if UserAnswer == input[]:
24 operator.Biểu thức số học
Bạn có thể kết hợp các toán tử để tạo thành các biểu thức phức tạp. Một biểu thức là sự kết hợp của các số, toán tử và dấu ngoặc đơn mà Python có thể tính toán hoặc đánh giá, để trả về một giá trị.
Dưới đây là một số ví dụ về biểu thức số học:
Các quy tắc để đánh giá các biểu thức giống như trong số học hàng ngày. Ở trường, có lẽ bạn đã học các quy tắc này theo thứ tự tên hoạt động.
Các toán tử
if UserAnswer == input[]:
32, if UserAnswer == input[]:
36, if UserAnswer == input[]:
47 và if UserAnswer == input[]:
84 đều có ưu tiên bằng nhau, hoặc ưu tiên, trong một biểu thức và mỗi toán tử này có quyền ưu tiên cao hơn so với các toán tử >>> type[1.0]
6 và if UserAnswer == input[]:
24. Đây là lý do tại sao UserAnswer= float[input[]]
32 trả về if UserAnswer == input[]:
86 chứ không phải UserAnswer= float[input[]]
34. UserAnswer= float[input[]]
35 được đánh giá đầu tiên, vì if UserAnswer == input[]:
32 có quyền ưu tiên cao hơn toán tử if UserAnswer == input[]:
24.>>>
UserAnswer= float[input[]]
6Bạn có thể nhận thấy rằng các biểu thức trong ví dụ trước không tuân theo quy tắc để đặt một khoảng trống ở hai bên của tất cả các toán tử. PEP 8 cho biết sau đây về khoảng trắng trong các biểu thức phức tạp:
Nếu các nhà khai thác có các ưu tiên khác nhau được sử dụng, hãy xem xét thêm khoảng trắng xung quanh các nhà khai thác với mức độ ưu tiên thấp nhất [IES]. Sử dụng phán đoán của riêng bạn; Tuy nhiên, không bao giờ sử dụng nhiều hơn một không gian và luôn có cùng một lượng khoảng trắng ở cả hai bên của toán tử nhị phân. [Nguồn]floating-point representation error, and it has nothing to do with Python. It’s related to the way floating-point numbers are stored in a computer’s memory.
Số
UserAnswer= float[input[]]
41 có thể được biểu diễn dưới dạng phân số UserAnswer= float[input[]]
42. Cả số UserAnswer= float[input[]]
41 và phân số UserAnswer= float[input[]]
42 của nó là các biểu diễn thập phân hoặc các biểu diễn cơ sở-10. Tuy nhiên, máy tính lưu trữ các số điểm nổi trong biểu diễn cơ sở-2, thường được gọi là biểu diễn nhị phân.decimal representations, or base-10 representations. Computers, however, store floating-point numbers in base-2 representation, more commonly called binary
representation.Khi được đại diện trong nhị phân, một cái gì đó quen thuộc nhưng có thể bất ngờ xảy ra với số thập phân
UserAnswer= float[input[]]
41. Phân số UserAnswer= float[input[]]
46 không có biểu diễn thập phân hữu hạn. Đó là, UserAnswer= float[input[]]
47 với vô số 3S sau điểm thập phân. Điều tương tự cũng xảy ra với phân số UserAnswer= float[input[]]
42 trong nhị phân.Biểu diễn nhị phân của
UserAnswer= float[input[]]
42 là phần lặp lại vô hạn sau đây: UserAnswer= float[input[]]
7Máy tính có bộ nhớ hữu hạn, do đó số
UserAnswer= float[input[]]
41 phải được lưu trữ dưới dạng xấp xỉ và không phải là giá trị thực của nó. Phép tính gần đúng được lưu trữ cao hơn một chút so với giá trị thực tế và trông như thế này: UserAnswer= float[input[]]
8Tuy nhiên, bạn có thể nhận thấy rằng khi được yêu cầu in
UserAnswer= float[input[]]
41, in python UserAnswer= float[input[]]
41 và không phải là giá trị xấp xỉ ở trên:Python không chỉ cắt các chữ số trong biểu diễn nhị phân cho
UserAnswer= float[input[]]
41. Những gì thực sự xảy ra là một chút tinh tế hơn.Bởi vì sự gần đúng của
UserAnswer= float[input[]]
41 trong nhị phân chỉ là một xấp xỉ, nó hoàn toàn có thể là hơn một số thập phân có cùng xấp xỉ nhị phân.Ví dụ, cả
UserAnswer= float[input[]]
41 và UserAnswer= float[input[]]
56 đều có cùng xấp xỉ nhị phân. Python in ra số thập phân ngắn nhất chia sẻ xấp xỉ.Điều này giải thích lý do tại sao, trong ví dụ đầu tiên của phần này,
UserAnswer= float[input[]]
39 không bằng UserAnswer= float[input[]]
40. Python cộng với các xấp xỉ nhị phân cho UserAnswer= float[input[]]
41 và UserAnswer= float[input[]]
60, đưa ra một số không phải là xấp xỉ nhị phân cho UserAnswer= float[input[]]
40.Nếu tất cả điều này đang bắt đầu làm cho đầu của bạn quay cuồng, đừng lo lắng! Trừ khi bạn viết các chương trình về tài chính hoặc điện toán khoa học, bạn không cần phải lo lắng về sự thiếu chính xác của số học dấu phẩy động.
Các chức năng toán học và phương pháp số
Python có một vài chức năng tích hợp mà bạn có thể sử dụng để làm việc với các số. Trong phần này, bạn sẽ tìm hiểu về ba trong số phổ biến nhất:
62, để làm tròn số vào một số vị trí thập phân, for rounding numbers to some number of decimal placesUserAnswer= float[input[]]
63, để nhận được giá trị tuyệt đối của một số, for getting the absolute value of a numberUserAnswer= float[input[]]
64, để nâng một số lên một số sức mạnh, for raising a number to some powerUserAnswer= float[input[]]
Bạn cũng sẽ tìm hiểu về một phương pháp bạn có thể sử dụng với các số điểm nổi để kiểm tra xem chúng có giá trị số nguyên hay không.
Số tròn với UserAnswer= float[input[]]
62
UserAnswer= float[input[]]
Bạn có thể sử dụng
UserAnswer= float[input[]]
62 để làm tròn một số vào số nguyên gần nhất:>>>
UserAnswer= float[input[]]
9 UserAnswer= float[input[]]
62 có một số hành vi bất ngờ khi số kết thúc trong if UserAnswer == input[]:
45:>>>
elif UserAnswer != float[] :
0 UserAnswer= float[input[]]
62 có một số hành vi bất ngờ khi số kết thúc trong if UserAnswer == input[]:
45: if UserAnswer == input[]:
42 được làm tròn xuống if UserAnswer == input[]:
44 và UserAnswer= float[input[]]
71 được làm tròn lên đến UserAnswer= float[input[]]
34. Hầu hết mọi người mong đợi một con số kết thúc trong if UserAnswer == input[]:
45 sẽ được làm tròn, vì vậy, hãy để xem xét kỹ hơn về những gì mà xảy ra ở đây.tie is any number whose last digit is five. if UserAnswer == input[]:
42 and UserAnswer= float[input[]]
75 are ties, but UserAnswer= float[input[]]
76
is not.Python 3 vòng số theo một chiến lược gọi là liên kết làm tròn với chẵn. Một chiếc cà vạt là bất kỳ số nào có chữ số cuối cùng là năm.
if UserAnswer == input[]:
42 và UserAnswer= float[input[]]
75 là mối quan hệ, nhưng UserAnswer= float[input[]]
76 thì không.Khi bạn quan hệ tròn với thậm chí, trước tiên bạn nhìn vào một chữ số một chữ số ở bên trái của chữ số cuối cùng trong cà vạt. Nếu chữ số đó là chẵn, thì bạn làm tròn xuống. Nếu chữ số là lẻ, thì bạn làm tròn. Đó là lý do tại sao
if UserAnswer == input[]:
42 vòng xuống đến if UserAnswer == input[]:
44 và UserAnswer= float[input[]]
71 vòng lên đến UserAnswer= float[input[]]
34.>>>
elif UserAnswer != float[] :
1 UserAnswer= float[input[]]
62 có một số hành vi bất ngờ khi số kết thúc trong if UserAnswer == input[]:
45: if UserAnswer == input[]:
42 được làm tròn xuống if UserAnswer == input[]:
44 và UserAnswer= float[input[]]
71 được làm tròn lên đến UserAnswer= float[input[]]
34. Hầu hết mọi người mong đợi một con số kết thúc trong if UserAnswer == input[]:
45 sẽ được làm tròn, vì vậy, hãy để xem xét kỹ hơn về những gì mà xảy ra ở đây.>>>
elif UserAnswer != float[] :
2 UserAnswer= float[input[]]
62 có một số hành vi bất ngờ khi số kết thúc trong if UserAnswer == input[]:
45:>>>
elif UserAnswer != float[] :
3 UserAnswer= float[input[]]
62 có một số hành vi bất ngờ khi số kết thúc trong if UserAnswer == input[]:
45: if UserAnswer == input[]:
42 được làm tròn xuống if UserAnswer == input[]:
44 và UserAnswer= float[input[]]
71 được làm tròn lên đến UserAnswer= float[input[]]
34. Hầu hết mọi người mong đợi một con số kết thúc trong if UserAnswer == input[]:
45 sẽ được làm tròn, vì vậy, hãy để xem xét kỹ hơn về những gì mà xảy ra ở đây.Python 3 vòng số theo một chiến lược gọi là liên kết làm tròn với chẵn. Một chiếc cà vạt là bất kỳ số nào có chữ số cuối cùng là năm.
if UserAnswer == input[]:
42 và UserAnswer= float[input[]]
75 là mối quan hệ, nhưng UserAnswer= float[input[]]
76 thì không.Khi bạn quan hệ tròn với thậm chí, trước tiên bạn nhìn vào một chữ số một chữ số ở bên trái của chữ số cuối cùng trong cà vạt. Nếu chữ số đó là chẵn, thì bạn làm tròn xuống. Nếu chữ số là lẻ, thì bạn làm tròn. Đó là lý do tại sao if UserAnswer == input[]:
42 vòng xuống đến if UserAnswer == input[]:
44 và UserAnswer= float[input[]]
71 vòng lên đến UserAnswer= float[input[]]
34.
if UserAnswer == input[]:
if UserAnswer == input[]:
UserAnswer= float[input[]]
UserAnswer= float[input[]]
Giá trị tuyệt đối của số n chỉ là n nếu n dương và -n nếu n là âm. Ví dụ: giá trị tuyệt đối của
if UserAnswer == input[]:
31 là if UserAnswer == input[]:
31, trong khi giá trị tuyệt đối của elif UserAnswer != float[] :
00 là if UserAnswer == input[]:
86.Để có được giá trị tuyệt đối của một số trong Python, bạn sử dụng
UserAnswer= float[input[]]
63:>>>
elif UserAnswer != float[] :
4 UserAnswer= float[input[]]
63 luôn trả về một số dương của cùng loại với đối số của nó. Đó là, giá trị tuyệt đối của một số nguyên luôn là một số nguyên dương và giá trị tuyệt đối của một chiếc phao luôn là một phao dương.Nâng lên một sức mạnh với UserAnswer= float[input[]]
64
UserAnswer= float[input[]]
Trước đó, bạn đã học được cách nâng một số lên một nguồn điện bằng toán tử
if UserAnswer == input[]:
67. Bạn cũng có thể sử dụng UserAnswer= float[input[]]
64 để đạt được kết quả tương tự. UserAnswer= float[input[]]
64 có hai đối số. Đối số đầu tiên là cơ sở, hoặc số được nâng lên thành một nguồn điện và đối số thứ hai là số mũ, hoặc sức mạnh mà số sẽ được nâng lên.base, or the number to be raised to a power, and the second argument is the exponent, or the power to
which the number is to be raised.Ví dụ: sử dụng sau đây
UserAnswer= float[input[]]
64 để nâng if UserAnswer == input[]:
44 lên số mũ if UserAnswer == input[]:
31:Giống như với
if UserAnswer == input[]:
67, số mũ trong UserAnswer= float[input[]]
64 có thể âm:Vì vậy, những gì khác biệt giữa
if UserAnswer == input[]:
67 và UserAnswer= float[input[]]
64?Hàm
UserAnswer= float[input[]]
64 chấp nhận một đối số thứ ba tùy chọn tính toán số thứ nhất được nâng lên công suất của số thứ hai, sau đó lấy modulo liên quan đến số thứ ba. Nói cách khác, elif UserAnswer != float[] :
16 tương đương với elif UserAnswer != float[] :
17.Dưới đây, một ví dụ trong đó
elif UserAnswer != float[] :
18, elif UserAnswer != float[] :
19 và elif UserAnswer != float[] :
20:Đầu tiên,
if UserAnswer == input[]:
44 được nâng lên sức mạnh if UserAnswer == input[]:
31 để có được if UserAnswer == input[]:
94. Sau đó elif UserAnswer != float[] :
24 được tính toán, đó là if UserAnswer == input[]:
65 vì if UserAnswer == input[]:
44 chia if UserAnswer == input[]:
94 không còn lại.Kiểm tra xem một chiếc phao có thể tích không
Bạn có thể quen thuộc với các phương thức chuỗi như
elif UserAnswer != float[] :
28, elif UserAnswer != float[] :
29 và elif UserAnswer != float[] :
30. Số nguyên và số điểm nổi cũng có phương pháp.Các phương thức số aren được sử dụng rất thường xuyên, nhưng có một phương pháp có thể hữu ích. Các số điểm nổi có phương thức
elif UserAnswer != float[] :
31 trả về elif UserAnswer != float[] :
32 nếu số này là tích phân có nghĩa là nó không có phần phân số nào và nếu không thì trả về elif UserAnswer != float[] :
33:integral—meaning it has no fractional part—and otherwise returns elif UserAnswer != float[] :
33:>>>
elif UserAnswer != float[] :
5 UserAnswer= float[input[]]
63 luôn trả về một số dương của cùng loại với đối số của nó. Đó là, giá trị tuyệt đối của một số nguyên luôn là một số nguyên dương và giá trị tuyệt đối của một chiếc phao luôn là một phao dương.Nâng lên một sức mạnh với
UserAnswer= float[input[]]
64Trước đó, bạn đã học được cách nâng một số lên một nguồn điện bằng toán tử
if UserAnswer == input[]:
67. Bạn cũng có thể sử dụng UserAnswer= float[input[]]
64 để đạt được kết quả tương tự.
64 có hai đối số. Đối số đầu tiên là cơ sở, hoặc số được nâng lên thành một nguồn điện và đối số thứ hai là số mũ, hoặc sức mạnh mà số sẽ được nâng lên. UserAnswer= float[input[]]
Ví dụ: sử dụng sau đây
UserAnswer= float[input[]]
64 để nâng if UserAnswer == input[]:
44 lên số mũ if UserAnswer == input[]:
31:Giống như với
if UserAnswer == input[]:
67, số mũ trong UserAnswer= float[input[]]
64 có thể âm: elif UserAnswer != float[] :
6Vì vậy, những gì khác biệt giữa
if UserAnswer == input[]:
67 và UserAnswer= float[input[]]
64?Hàm
UserAnswer= float[input[]]
64 chấp nhận một đối số thứ ba tùy chọn tính toán số thứ nhất được nâng lên công suất của số thứ hai, sau đó lấy modulo liên quan đến số thứ ba. Nói cách khác, elif UserAnswer != float[] :
16 tương đương với elif UserAnswer != float[] :
17.Dưới đây, một ví dụ trong đó
elif UserAnswer != float[] :
18, elif UserAnswer != float[] :
19 và elif UserAnswer != float[] :
20:Đầu tiên,
if UserAnswer == input[]:
44 được nâng lên sức mạnh if UserAnswer == input[]:
31 để có được if UserAnswer == input[]:
94. Sau đó elif UserAnswer != float[] :
24 được tính toán, đó là if UserAnswer == input[]:
65 vì if UserAnswer == input[]:
44 chia if UserAnswer == input[]:
94 không còn lại.Kiểm tra xem một chiếc phao có thể tích không
Bạn có thể quen thuộc với các phương thức chuỗi như
elif UserAnswer != float[] :
28, elif UserAnswer != float[] :
29 và elif UserAnswer != float[] :
30. Số nguyên và số điểm nổi cũng có phương pháp.Các phương thức số aren được sử dụng rất thường xuyên, nhưng có một phương pháp có thể hữu ích. Các số điểm nổi có phương thức
elif UserAnswer != float[] :
31 trả về elif UserAnswer != float[] :
32 nếu số này là tích phân có nghĩa là nó không có phần phân số nào và nếu không thì trả về elif UserAnswer != float[] :
33: elif UserAnswer != float[] :
8Một cách sử dụng cho
elif UserAnswer != float[] :
31 là để xác thực đầu vào của người dùng. Ví dụ: nếu bạn đang viết một ứng dụng đặt hàng trực tuyến cho một pizzeria, thì bạn sẽ muốn kiểm tra xem số lượng pizza mà đầu vào của khách hàng là một số.Các hàm
UserAnswer= float[input[]]
62, UserAnswer= float[input[]]
63 và UserAnswer= float[input[]]
64 là các chức năng tích hợp, có nghĩa là bạn không phải nhập bất cứ thứ gì để sử dụng chúng. Nhưng ba chức năng này hầu như không làm trầy xước bề mặt của tất cả các chức năng có sẵn để làm việc với các số trong Python. elif UserAnswer != float[] :
9Để có thêm niềm vui toán học, hãy xem mô -đun toán học Python: Mọi thứ bạn cần biết!
Kiểm tra việc hiểu của bạn
Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn:
Viết một chương trình yêu cầu người dùng nhập một số và sau đó hiển thị số đó được làm tròn đến hai vị trí thập phân. Khi chạy, chương trình của bạn sẽ trông như thế này:
>>>
print["Please enter a correct input"]
0Bạn có thể mở rộng khối bên dưới để xem giải pháp:
Để nhận đầu vào từ người dùng, hãy chuyển lời nhắc đến
elif UserAnswer != float[] :
38:
>>>
print["Please enter a correct input"]
1 elif UserAnswer != float[] :
7 elif UserAnswer != float[] :
50 trong elif UserAnswer != float[] :
49 làm tròn con số đến hai vị trí thập phân và elif UserAnswer != float[] :
52 bảo Python hiển thị UserAnswer= float[input[]]
00 dưới dạng số điểm cố định. Điều này có nghĩa là số được hiển thị với chính xác hai vị trí thập phân, ngay cả khi số ban đầu có ít vị trí thập phân hơn.fixed-point number. This means that the number is displayed with exactly two
decimal places, even if the original number has fewer decimal places.Khi
elif UserAnswer != float[] :
54, kết quả của elif UserAnswer != float[] :
46 là elif UserAnswer != float[] :
56. Giống như với UserAnswer= float[input[]]
62, Python làm tròn mối quan hệ ngay cả khi định dạng số bên trong chuỗi. Vì vậy, nếu bạn thay thế elif UserAnswer != float[] :
54 bằng elif UserAnswer != float[] :
59, thì kết quả của elif UserAnswer != float[] :
46 là elif UserAnswer != float[] :
61:>>>
print["Please enter a correct input"]
2Để làm tròn một vị trí thập phân, hãy thay thế
elif UserAnswer != float[] :
50 bằng elif UserAnswer != float[] :
63:>>>
print["Please enter a correct input"]
3Để làm tròn một vị trí thập phân, hãy thay thế
elif UserAnswer != float[] :
50 bằng elif UserAnswer != float[] :
63:>>>
print["Please enter a correct input"]
4Để làm tròn một vị trí thập phân, hãy thay thế
elif UserAnswer != float[] :
50 bằng elif UserAnswer != float[] :
63:>>>
print["Please enter a correct input"]
5Để làm tròn một vị trí thập phân, hãy thay thế
elif UserAnswer != float[] :
50 bằng elif UserAnswer != float[] :
63:>>>
print["Please enter a correct input"]
6Để làm tròn một vị trí thập phân, hãy thay thế
elif UserAnswer != float[] :
50 bằng elif UserAnswer != float[] :
63:>>>
print["Please enter a correct input"]
7Để làm tròn một vị trí thập phân, hãy thay thế
elif UserAnswer != float[] :
50 bằng elif UserAnswer != float[] :
63:Khi bạn định dạng một số là điểm cố định, nó luôn luôn hiển thị với số lượng chính xác của số thập phân mà bạn chỉ định:
>>>
print["Please enter a correct input"]
8Để làm tròn một vị trí thập phân, hãy thay thế
elif UserAnswer != float[] :
50 bằng elif UserAnswer != float[] :
63:Khi bạn định dạng một số là điểm cố định, nó luôn luôn hiển thị với số lượng chính xác của số thập phân mà bạn chỉ định:
Bạn có thể chèn dấu phẩy để nhóm phần số nguyên của số lượng lớn bởi hàng ngàn với tùy chọn
elif UserAnswer != float[] :
64:Để làm tròn một số vị trí thập phân và cả hàng ngàn địa điểm và cũng được nhóm, đặt
elif UserAnswer != float[] :
64 trước elif UserAnswer != float[] :
66 vào đặc tả định dạng của bạn:
Bộ xác định
elif UserAnswer != float[] :
67 rất hữu ích để hiển thị các giá trị tiền tệ:Một tùy chọn hữu ích khác là
if UserAnswer == input[]:
84, được sử dụng để hiển thị tỷ lệ phần trăm. Tùy chọn if UserAnswer == input[]:
84 nhân số một số với elif UserAnswer != float[] :
70 và hiển thị nó ở định dạng điểm cố định, theo sau là dấu hiệu phần trăm.Tùy chọn
if UserAnswer == input[]:
84 phải luôn luôn đi vào cuối thông số kỹ thuật định dạng của bạn và bạn có thể trộn nó với tùy chọn elif UserAnswer != float[] :
52. Ví dụ: elif UserAnswer != float[] :
73 hiển thị một số theo tỷ lệ phần trăm với chính xác một vị trí thập phân:>>>
print["Please enter a correct input"]
9Các định dạng ngôn ngữ mini là mạnh mẽ và rộng rãi. Bạn chỉ thấy những điều cơ bản ở đây. Để biết thêm thông tin, hãy kiểm tra các tài liệu chính thức.
Kiểm tra việc hiểu của bạn
>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
0Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn:
>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
1In số
elif UserAnswer != float[] :
74 dưới dạng tiền tệ với hàng ngàn được nhóm bởi dấu phẩy. Tiền tệ nên được hiển thị với hai vị trí thập phân và bắt đầu với biểu tượng đô la Mỹ.>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
2Bạn có thể mở rộng khối bên dưới để xem giải pháp:
>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
3Hãy cùng xây dựng chuỗi F của chúng tôi từng bước một.
Đầu tiên, chuỗi F hiển thị giá trị
elif UserAnswer != float[] :
74 mà không có bất kỳ định dạng nào trông như thế này:Điều này có thể trông có vẻ kỳ lạ, nhưng nó thiết lập bạn để thêm các định dạng định dạng.
Để đảm bảo rằng giá trị được hiển thị dưới dạng số điểm nổi, hãy đặt dấu hai chấm [
elif UserAnswer != float[] :
47] sau số elif UserAnswer != float[] :
74, tiếp theo là chữ cái elif UserAnswer != float[] :
52:Theo mặc định, Python hiển thị số lượng với sáu vị trí chính xác thập phân. Tiền tệ chỉ nên có hai vị trí chính xác thập phân, vì vậy bạn có thể thêm
elif UserAnswer != float[] :
50 giữa elif UserAnswer != float[] :
47 và elif UserAnswer != float[] :
52:real part and an imaginary part.Để hiển thị số với các chữ số được nhóm bởi dấu phẩy, chèn dấu phẩy [
elif UserAnswer != float[] :
64] giữa dấu hai chấm [ elif UserAnswer != float[] :
47] và dấu chấm [ elif UserAnswer != float[] :
66]:Cuối cùng, thêm một dấu hiệu đô la [
elif UserAnswer != float[] :
85] ở đầu chuỗi để chỉ ra rằng giá trị bằng đô la Mỹ:F-String chỉ là một cách để định dạng số để hiển thị. Kiểm tra một hướng dẫn cho các kỹ thuật định dạng chuỗi Python mới hơn để biết nhiều cách hơn để định dạng số và văn bản khác trong Python.
Khi bạn đã sẵn sàng, bạn có thể chuyển sang phần tiếp theo.
>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
4Số phức
Python là một trong số ít ngôn ngữ lập trình cung cấp hỗ trợ tích hợp cho các số phức tạp. Trong khi các số phức tạp don don thường xuất hiện bên ngoài các lĩnh vực của máy tính khoa học và đồ họa máy tính, nhưng sự hỗ trợ của Python đối với chúng là một trong những thế mạnh của nó.
>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
5Nếu bạn đã từng tham gia một lớp toán đại số cấp độ hoặc cấp cao hơn, thì bạn có thể nhớ rằng một số phức là một số có hai thành phần riêng biệt: một phần thực và một phần tưởng tượng.conjugate is the complex number with the same real part and an imaginary part that is the same in absolute value but with the opposite sign. So in this case, the complex conjugate of
elif UserAnswer != float[] :
90 is elif UserAnswer != float[] :
91.Ngoại trừ toán tử phân chia sàn [
if UserAnswer == input[]:
47], tất cả các toán tử số học hoạt động với phao và số nguyên cũng sẽ hoạt động với các số phức tạp. Vì đây không phải là một hướng dẫn toán học tiên tiến, chúng tôi đã giành chiến thắng thảo luận về các cơ chế của số học phức tạp. Thay vào đó, đây là một số ví dụ về việc sử dụng các số phức tạp với các toán tử số học:>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
6Thật thú vị, mặc dù không có gì đáng ngạc nhiên từ quan điểm toán học, các đối tượng
>>> type[1]
5 và >>> 1000000
1000000
>>> 1_000_000
1000000
7 cũng có các thuộc tính elif UserAnswer != float[] :
87 và elif UserAnswer != float[] :
88 cũng như phương pháp elif UserAnswer != float[] :
89:>>>
while True:
try:
raw_UserAnswer = input["Please enter an answer:"]
UserAnswer = float[raw_UserAnswer]
break
except ValueError:
print["Please enter a correct input"]
7Thật thú vị, mặc dù không có gì đáng ngạc nhiên từ quan điểm toán học, các đối tượng
>>> type[1]
5 và >>> 1000000
1000000
>>> 1_000_000
1000000
7 cũng có các thuộc tính elif UserAnswer != float[] :
87 và elif UserAnswer != float[] :
88 cũng như phương pháp elif UserAnswer != float[] :
89:Đối với phao và số nguyên,
elif UserAnswer != float[] :
87 và elif UserAnswer != float[] :
89 luôn tự trả lại số và elif UserAnswer != float[] :
88 luôn trả về if UserAnswer == input[]:
65. Tuy nhiên, một điều cần chú ý là print["Please enter a correct input"]
02 và print["Please enter a correct input"]
03 trả về số nguyên nếu UserAnswer= float[input[]]
00 là một số nguyên và nổi nếu UserAnswer= float[input[]]
00 là một chiếc phao.Bây giờ bạn đã nhìn thấy những điều cơ bản của các con số phức tạp, bạn có thể tự hỏi khi nào bạn cần phải sử dụng chúng. Nếu bạn đang học Python để phát triển web, khoa học dữ liệu hoặc lập trình mục đích chung, thì sự thật là bạn có thể không bao giờ cần sử dụng các số phức tạp.
Mặt khác, các số phức tạp rất quan trọng trong các lĩnh vực như điện toán khoa học và đồ họa máy tính. Nếu bạn từng làm việc trong các miền đó, thì bạn có thể thấy Python, hỗ trợ tích hợp cho các số phức tạp hữu ích.
Kết luận: Số trong Python
Trong hướng dẫn này, bạn đã học được tất cả về việc làm việc với các con số trong Python. Bạn đã thấy rằng có hai loại số cơ bản của các số con số và số điểm nổi, và Python cũng có hỗ trợ tích hợp cho các số phức tạp.
- Trong hướng dẫn này, bạn đã học được:arithmetic operators
- Cách thực hiện số học cơ bản với các số sử dụng các toán tử số học Pythonarithmetic expressions using PEP 8 best practices
- Cách viết các biểu thức số học bằng cách sử dụng các thực tiễn tốt nhất của PEPfloating-point numbers are and why they may not always be 100 percent accurate
- Số điểm nổi là gì và tại sao chúng có thể không phải lúc nào cũng chính xác 100 %round numbers with
62UserAnswer= float[input[]]
- Cách làm tròn số với
62complex numbers are and how they’re supported in PythonUserAnswer= float[input[]]
Những con số phức tạp là gì và cách họ hỗ trợ trong Python
Bất kể mức độ thoải mái của bạn với các số và toán học, giờ đây bạn đã sẵn sàng để thực hiện tất cả các loại tính toán trong mã Python của bạn. Bạn có thể sử dụng kiến thức này để giải quyết một loạt các vấn đề mà bạn sẽ gặp phải trong sự nghiệp lập trình của mình.
Đọc thêm
- Để biết thêm thông tin về số và toán học trong Python, hãy xem các tài nguyên này:
- Các loại dữ liệu cơ bản trong Python
- Mô -đun toán học Python: Mọi thứ bạn cần biết
- Cách làm tròn số trong Python