Là sai và == sai Python?

Python thật tuyệt. sau rất nhiều năm sử dụng nó, có những điều kỳ lạ nho nhỏ khiến tôi ngạc nhiên. Gần đây, tôi tình cờ phát hiện ra một dòng mã rất đơn giản mà hầu hết các lập trình viên python có kinh nghiệm mà tôi biết đều không thể giải thích nếu không tìm kiếm nó trên Google.

Là sai và == sai Python?

Cú pháp của câu lệnh if như sau.

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
0

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
1

Giống như định nghĩa hàm trong chương trước và các câu lệnh ghép khác như for , if . Dòng tiêu đề bắt đầu bằng từ khóa statement consists of a header line and a body. The header line begins with the keyword if theo sau là biểu thức Boolean và kết thúc bằng dấu hai chấm (. ).

Các câu lệnh thụt lề theo sau được gọi là một khối. Câu lệnh không thụt lề đầu tiên đánh dấu sự kết thúc của khối

Mỗi câu lệnh bên trong khối câu lệnh đầu tiên được thực thi theo thứ tự nếu biểu thức Boolean đánh giá là True . Toàn bộ khối câu lệnh đầu tiên bị bỏ qua nếu biểu thức Boolean đánh giá là Sai và thay vào đó, tất cả các câu lệnh được thụt vào trong else clause are executed.

Không có giới hạn về số lượng câu lệnh có thể xuất hiện dưới hai mệnh đề của câu lệnh if , nhưng phải có ít nhất . Đôi khi, sẽ rất hữu ích nếu có một phần không có câu lệnh nào (thường là để giữ chỗ, hoặc tạo khung cho mã mà chúng ta chưa viết). Trong trường hợp đó, chúng ta có thể sử dụng câu lệnh pass , câu lệnh này không làm gì khác ngoài việc đóng vai trò giữ chỗ.

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
0

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
3

5. 6. Bỏ qua mệnh đề else ¶

Lưu đồ của câu lệnh if không có mệnh đề nào khác

Là sai và == sai Python?

Một dạng khác của câu lệnh if là dạng trong đó else clause is omitted entirely. In this case, when the condition evaluates to True , các câu lệnh sẽ được thực thi, nếu không thì luồng thực thi sẽ tiếp tục đến câu lệnh sau if.

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
4

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
5

Trong trường hợp này, hàm in xuất ra căn bậc hai là hàm sau if — không phải vì chúng ta để trống một dòng, . Cũng lưu ý rằng hàm gọi math. sqrt(x) sẽ báo lỗi trừ khi chúng tôi có nhập toán học .

Thuật ngữ Python

Tài liệu Python đôi khi sử dụng thuật ngữ bộ câu lệnh để chỉ cái mà chúng ta gọi là khối ở đây. Chúng có nghĩa giống nhau và vì hầu hết các ngôn ngữ khác và các nhà khoa học máy tính đều sử dụng khối từ, chúng tôi sẽ gắn bó với điều đó

Cũng lưu ý rằng else không phải là một câu lệnh. Câu lệnh if có hai mệnh đề, một trong số đó là (tùy chọn) else clause.

5. 7. Chuỗi điều kiện¶

Đôi khi có nhiều hơn hai khả năng và chúng ta cần nhiều hơn hai nhánh. Một cách để thể hiện một tính toán như vậy là một chuỗi điều kiện

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
4

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
7

Lưu đồ của chuỗi điều kiện này

Là sai và == sai Python?

elif là viết tắt của else if . Một lần nữa, chính xác một nhánh sẽ được thực thi. Không có giới hạn về số lượng câu lệnh elif mà chỉ có một câu lệnh cuối cùng (và không bắt buộc) else statement is allowed and it must be the last branch in the statement:

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
8

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
9

Mỗi điều kiện được kiểm tra theo thứ tự. Nếu cái đầu tiên là sai, cái tiếp theo sẽ được chọn, v.v. Nếu một trong số chúng là đúng, thì nhánh tương ứng sẽ thực thi và câu lệnh kết thúc. Ngay cả khi có nhiều hơn một điều kiện là đúng, thì chỉ có nhánh đúng đầu tiên được thực thi

5. 8. Điều kiện lồng nhau¶

Một điều kiện cũng có thể được lồng trong một điều kiện khác. (Đó là cùng một chủ đề về khả năng kết hợp, một lần nữa. ) Chúng ta có thể viết ví dụ trước như sau

Lưu đồ của điều kiện lồng nhau này

Là sai và == sai Python?

________số 8

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
1

Câu điều kiện ngoài gồm 2 nhánh. Nhánh thứ hai chứa một câu lệnh if khác, có hai nhánh riêng. Hai nhánh đó cũng có thể chứa các câu điều kiện.

Mặc dù việc thụt lề của các câu lệnh làm cho cấu trúc trở nên rõ ràng, nhưng các điều kiện lồng nhau rất nhanh trở nên khó đọc. Nói chung, nên tránh chúng khi chúng ta có thể

Các toán tử logic thường cung cấp một cách để đơn giản hóa các câu lệnh điều kiện lồng nhau. Ví dụ: chúng ta có thể viết lại đoạn mã sau bằng cách sử dụng một điều kiện duy nhất

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
2

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
3

Hàm print chỉ được gọi nếu chúng ta bỏ qua cả hai điều kiện, do đó, thay vì sử dụng hai if statements each with a simple condition, we could make a more complex condition using the and operator. Now we only need a single if .

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
4

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
5

5. 9. Câu lệnh return ¶

Câu lệnh return , có hoặc không có giá trị, tùy thuộc vào chức năng có kết quả hay vô hiệu, cho phép chúng ta kết thúc việc thực thi của . Một lý do để sử dụng trả lại sớm là nếu chúng tôi phát hiện ra tình trạng lỗi.

________số 8

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
7

Hàm print_square_root có tham số tên là x . Điều đầu tiên nó làm là kiểm tra xem x có nhỏ hơn hoặc bằng 0 hay không, trong trường hợp đó, nó sẽ hiển thị thông báo lỗi và sau đó sử dụng return to exit the function. The flow of execution immediately returns to the caller, and the remaining lines of the function are not executed.

5. 10. Đối lập logic¶

Mỗi toán tử trong số sáu toán tử quan hệ có một phép đối logic. ví dụ: giả sử chúng ta có thể lấy bằng lái xe khi tuổi của chúng ta lớn hơn hoặc bằng 17, chúng ta không thể lấy bằng lái xe khi chúng ta dưới 17 tuổi

Lưu ý rằng ngược lại của >=< .

operatorlogical opposite==!=!===<>=<=>><=>=<

Hiểu được những đối lập logic này đôi khi cho phép chúng ta loại bỏ các toán tử not . Các toán tử not thường khá khó đọc trong mã máy tính và ý định của chúng ta thường sẽ rõ ràng hơn nếu chúng ta có thể loại bỏ chúng.

Ví dụ: nếu chúng tôi đã viết Python này

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
4

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
9

có lẽ sẽ rõ ràng hơn nếu sử dụng các luật đơn giản hóa và thay vào đó viết

x == y               # Produce True if .. x is equal to y
x != y               # .. x is not equal to y
x > y                # .. x is greater than y
x < y                # .. x is less than y
x >= y               # .. x is greater than or equal to y
x <= y               # .. x is less than or equal to y
4

>>> age = 18
>>> old_enough_to_get_driving_licence = age >= 17
>>> print(old_enough_to_get_driving_licence)
True
>>> type(old_enough_to_get_driving_licence)
<class 'bool'>
1

Hai luật đơn giản hóa mạnh mẽ (được gọi là luật de Morgan) thường hữu ích khi xử lý các biểu thức Boolean phức tạp là

>>> age = 18
>>> old_enough_to_get_driving_licence = age >= 17
>>> print(old_enough_to_get_driving_licence)
True
>>> type(old_enough_to_get_driving_licence)
<class 'bool'>
2

Ví dụ: giả sử chúng ta chỉ có thể giết rồng nếu thanh kiếm ánh sáng ma thuật của chúng ta được sạc từ 90% trở lên và chúng ta có 100 đơn vị năng lượng trở lên trong lá chắn bảo vệ của mình. Chúng tôi tìm thấy đoạn mã Python này trong trò chơi

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
0

>>> age = 18
>>> old_enough_to_get_driving_licence = age >= 17
>>> print(old_enough_to_get_driving_licence)
True
>>> type(old_enough_to_get_driving_licence)
<class 'bool'>
4

Các định luật de Morgan cùng với các đối lập logic sẽ cho phép chúng ta giải quyết lại điều kiện theo cách (có lẽ) dễ hiểu hơn như thế này

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
0

>>> age = 18
>>> old_enough_to_get_driving_licence = age >= 17
>>> print(old_enough_to_get_driving_licence)
True
>>> type(old_enough_to_get_driving_licence)
<class 'bool'>
6

Chúng ta cũng có thể loại bỏ not bằng cách đổi chỗ then and else parts of the conditional. So here is a third version, also equivalent:

>>> 5 == (3 + 2)   # Is five equal 5 to the result of 3 + 2?
True
>>> 5 == 6
False
>>> j = "hel"
>>> j + "lo" == "hello"
True
0

>>> age = 18
>>> old_enough_to_get_driving_licence = age >= 17
>>> print(old_enough_to_get_driving_licence)
True
>>> type(old_enough_to_get_driving_licence)
<class 'bool'>
8

Phiên bản này có lẽ là phiên bản hay nhất trong ba phiên bản, bởi vì nó rất khớp với câu nói đầu tiên bằng tiếng Anh. Tính rõ ràng của mã của chúng tôi (đối với những người khác) và giúp dễ dàng nhận thấy rằng mã thực hiện những gì được mong đợi phải luôn là ưu tiên hàng đầu

Khi kỹ năng lập trình của chúng ta phát triển, chúng ta sẽ thấy mình có nhiều hơn một cách để giải quyết mọi vấn đề. Vì vậy, các chương trình tốt được thiết kế. Chúng tôi đưa ra các lựa chọn thiên về sự rõ ràng, đơn giản và sang trọng. Chức danh công việc kiến ​​trúc sư phần mềm nói lên rất nhiều điều về công việc của chúng tôi — chúng tôi là những kiến ​​trúc sư thiết kế các sản phẩm của mình để cân bằng giữa vẻ đẹp, chức năng, sự đơn giản và rõ ràng trong các sáng tạo của chúng tôi

Mẹo

Sau khi chương trình của chúng tôi hoạt động, chúng tôi nên chơi xung quanh một chút để cố gắng đánh bóng nó. Viết bình luận tốt. Hãy suy nghĩ xem liệu mã có rõ ràng hơn với các tên biến khác nhau không. Chúng ta có thể đã làm nó thanh lịch hơn?

Chúng tôi coi mã của chúng tôi là sáng tạo của chúng tôi, tác phẩm nghệ thuật của chúng tôi. Chúng tôi làm cho nó tuyệt vời

5. 11. Loại chuyển đổi¶

Chúng tôi đã có một cái nhìn đầu tiên về điều này trong một chương trước. Nhìn thấy nó một lần nữa sẽ không đau

Nhiều loại Python đi kèm với chức năng tích hợp cố gắng chuyển đổi giá trị của loại khác thành loại của chính nó. Ví dụ: hàm int lấy bất kỳ giá trị nào và chuyển đổi thành số nguyên, nếu có thể hoặc khiếu nại nếu không.

>>> age = 18
>>> old_enough_to_get_driving_licence = age >= 17
>>> print(old_enough_to_get_driving_licence)
True
>>> type(old_enough_to_get_driving_licence)
<class 'bool'>
9

int cũng có thể chuyển đổi giá trị dấu phẩy động thành số nguyên, nhưng hãy nhớ rằng nó cắt bớt phần phân số.

n * 0 == 0
0

Hàm float chuyển đổi số nguyên và chuỗi thành số dấu phẩy động.

n * 0 == 0
1

Có vẻ lạ khi Python phân biệt giá trị số nguyên 1 với giá trị dấu phẩy động 1. 0 . Chúng có thể đại diện cho cùng một số, nhưng chúng thuộc các loại khác nhau. Lý do là chúng được thể hiện khác nhau bên trong máy tính.

Hàm str chuyển đổi bất kỳ đối số nào được cung cấp cho nó thành loại chuỗi:

n * 0 == 0
2

str sẽ hoạt động với bất kỳ giá trị nào và chuyển đổi nó thành một chuỗi. Như đã đề cập trước đó, True là giá trị Boolean; . true is just an ordinary variable name, and is not defined here, so we get an error.

5. 12. Biểu đồ thanh con rùa¶

Con rùa có nhiều sức mạnh hơn chúng ta đã thấy cho đến nay. Tài liệu đầy đủ có thể được tìm thấy tại http. // tài liệu. con trăn. org/py3k/library/rùa. html hoặc trong PyScripter, sử dụng Trợ giúp và tìm kiếm mô-đun rùa

Dưới đây là một vài thủ thuật mới cho rùa của chúng tôi

  • Chúng ta có thể làm cho một con rùa hiển thị văn bản trên canvas ở vị trí hiện tại của con rùa. Phương pháp để làm điều đó là alex. write("Xin chào") .
  • Chúng ta có thể tô một hình (hình tròn, hình bán nguyệt, hình tam giác, v.v. ) có màu. Đó là một quá trình gồm hai bước. Đầu tiên chúng ta gọi phương thức alex. begin_fill() , sau đó chúng ta vẽ hình, rồi gọi alex. end_fill() .
  • Trước đây, chúng tôi đã đặt màu cho con rùa của mình — giờ đây chúng tôi cũng có thể đặt màu tô cho nó, màu này không cần phải giống với màu của con rùa và màu bút. Chúng tôi sử dụng alex. color("blue","red") để đặt con rùa vẽ màu xanh và tô màu đỏ.

Ok, vậy chúng ta có thể nhờ Tess vẽ biểu đồ thanh không?

xs = [48, 117, 200, 240, 160, 260, 220]

Tương ứng với mỗi lần đo dữ liệu, ta sẽ vẽ một hình chữ nhật đơn giản có chiều cao bằng đó, với chiều rộng cố định

n * 0 == 0
3

n * 0 == 0
4

Là sai và == sai Python?

Ok, không ấn tượng lắm, nhưng đó là một khởi đầu tốt đẹp. Điều quan trọng ở đây là sự phân chia tinh thần, hoặc cách chúng tôi chia vấn đề thành những phần nhỏ hơn. Phần của chúng tôi là vẽ một thanh và chúng tôi đã viết một hàm để làm điều đó. Sau đó, đối với toàn bộ biểu đồ, chúng tôi liên tục gọi chức năng của mình

Tiếp theo, ở đầu mỗi thanh, chúng tôi sẽ in giá trị của dữ liệu. Chúng ta sẽ làm điều này trong phần thân của draw_bar , bằng cách thêm t. write('   ' + str(chiều cao)) as the new third line of the body. We’ve put a little space in front of the number, and turned the number into a string. Without this extra space we tend to cramp our text awkwardly against the bar to the left. The result looks a lot better now:

Là sai và == sai Python?

Và bây giờ chúng ta sẽ thêm hai dòng để lấp đầy mỗi thanh. Chương trình cuối cùng của chúng tôi bây giờ trông như thế này

n * 0 == 0
5

n * 0 == 0
6

Nó tạo ra những điều sau đây, thỏa mãn hơn

Là sai và == sai Python?

ừm. Có lẽ các thanh không nên được nối với nhau ở phía dưới. Chúng ta sẽ cần nhặt bút trong khi tạo khoảng cách giữa các thanh. Chúng tôi sẽ để nó như một bài tập cho bạn

5. 13. Bảng chú giải¶

blockMột nhóm các câu lệnh liên tiếp có cùng cách thụt đầu dòng. bodyKhối các câu lệnh trong một câu lệnh ghép theo sau tiêu đề. Đại số BooleanMột số quy tắc sắp xếp lại và lập luận về biểu thức Boolean. Biểu thức Boolean Một biểu thức đúng hoặc sai. Giá trị BooleanCó chính xác hai giá trị Boolean. ĐúngSai . Giá trị Boolean là kết quả khi một biểu thức Boolean được đánh giá bởi trình thông dịch Python. Chúng có loại bool . nhánhMột trong những đường dẫn có thể có của luồng thực thi được xác định bởi thực thi có điều kiện. chuỗi điều kiện Một nhánh có điều kiện với nhiều hơn hai luồng thực thi có thể. Trong Python, chuỗi điều kiện được viết bằng if . elif . else câu lệnh. toán tử so sánhMột trong sáu toán tử so sánh hai giá trị. == , . = , > , < . điều kiệnBiểu thức Boolean trong câu lệnh điều kiện xác định nhánh nào được thực thi. câu lệnh điều kiện Một câu lệnh kiểm soát luồng thực thi tùy thuộc vào một số điều kiện. Trong Python các từ khóa >=, and <=.conditionThe Boolean expression in a conditional statement that determines which branch is executed.conditional statementA statement that controls the flow of execution depending on some condition. In Python the keywords if , elifelse are used for conditional statements.logical operatorOne of the operators that combines Boolean expressions: , hoặc . lồng một cấu trúc chương trình vào trong một cấu trúc chương trình khác, chẳng hạn như một câu lệnh điều kiện bên trong một nhánh của một câu lệnh điều kiện khác. dấu nhắc Một gợi ý trực quan cho người dùng biết rằng hệ thống đã sẵn sàng chấp nhận dữ liệu đầu vào. bảng chân lý Một bảng ngắn gọn gồm các giá trị Boolean có thể mô tả ngữ nghĩa của một toán tử. chuyển đổi kiểu Một lệnh gọi hàm rõ ràng nhận giá trị của một kiểu và tính toán giá trị tương ứng của kiểu khác. gói mã trong một hàm Quá trình thêm tiêu đề hàm và các tham số vào một chuỗi các câu lệnh chương trình thường được gọi là “gói mã trong một hàm”. Quá trình này rất hữu ích bất cứ khi nào các câu lệnh chương trình được đề cập sẽ được sử dụng nhiều lần. Nó thậm chí còn hữu ích hơn khi nó cho phép lập trình viên thể hiện khối óc của họ và cách họ chia nhỏ một vấn đề phức tạp thành nhiều phần. .nestingOne program structure within another, such as a conditional statement inside a branch of another conditional statement.promptA visual cue that tells the user that the system is ready to accept input data.truth tableA concise table of Boolean values that can describe the semantics of an operator.type conversionAn explicit function call that takes a value of one type and computes a corresponding value of another type.wrapping code in a functionThe process of adding a function header and parameters to a sequence of program statements is often refered to as “wrapping the code in a function”. This process is very useful whenever the program statements in question are going to be used multiple times. It is even more useful when it allows the programmer to express their mental chunking, and how they’ve broken a complex problem into pieces.

5. 14. Bài tập¶

  1. Giả sử các ngày trong tuần được đánh số 0,1,2,3,4,5,6 từ Chủ Nhật đến Thứ Bảy. Viết một hàm được cung cấp số ngày và nó trả về tên ngày (một chuỗi)

  2. Bạn có một kỳ nghỉ tuyệt vời (có thể là vào tù, nếu bạn không thích những bài tập vui vẻ) để lại vào ngày thứ 3 (thứ Tư). Bạn trở về nhà sau 137 giấc ngủ. Viết một phiên bản chung của chương trình yêu cầu số ngày bắt đầu và thời gian lưu trú của bạn, và nó sẽ cho bạn biết tên ngày trong tuần bạn sẽ trở lại vào ngày nào

  3. Đưa ra các đối lập hợp lý của các điều kiện này

    1. a > b
    2. a >= b
    3. a >= 18     day == 3
    4. a >= 18     day != 3

  4. Những biểu thức này đánh giá điều gì?

    1. 3 == 3
    2. 3 . = 3
    3. 3 >= 4
    4. không (3 < 4)

  5. Hoàn thành bảng sự thật này

    p

    q

    r

    (không phải (p và q)) hoặc r

    F

    F

    F

    ?

    F

    F

    T

    ?

    F

    T

    F

    ?

    F

    T

    T

    ?

    T

    F

    F

    ?

    T

    F

    T

    ?

    T

    T

    F

    ?

    T

    T

    T

    ?

  6. Viết một hàm được cho điểm bài kiểm tra và nó trả về một chuỗi — điểm cho điểm đó — theo sơ đồ này

    Đánh dấu

    Lớp

    >= 75

    Ngày thứ nhất

    [70-75)

    Thượng nhì

    [60-70)

    Thứ hai

    [50-60)

    Ngày thứ ba

    [45-50)

    hỗ trợ F1

    [40-45)

    F2

    < 40

    F3

    Dấu ngoặc vuông và tròn biểu thị các khoảng đóng và mở. Khoảng thời gian đóng bao gồm số và khoảng thời gian mở loại trừ nó. Vậy 39. 99999 được lớp F3, nhưng 40 được lớp F2. Giả định

    n * 0 == 0
    
    7

    Kiểm tra chức năng của bạn bằng cách in dấu và điểm cho tất cả các phần tử trong danh sách này

  7. Sửa đổi chương trình biểu đồ thanh con rùa để bút ở trên các khoảng trống nhỏ giữa mỗi thanh

  8. Sửa đổi chương trình biểu đồ thanh con rùa để thanh cho bất kỳ giá trị nào từ 200 trở lên được tô màu đỏ, các giá trị từ [100 đến 200) được tô màu vàng và các thanh biểu thị các giá trị nhỏ hơn 100 được tô màu xanh lục

  9. Trong chương trình biểu đồ thanh con rùa, bạn dự đoán điều gì sẽ xảy ra nếu một hoặc nhiều giá trị dữ liệu trong danh sách là âm? . Thay đổi chương trình để khi in giá trị văn bản cho các thanh âm, nó sẽ đặt văn bản bên dưới phần cuối của thanh

  10. Viết hàm find_hypot , cho độ dài hai cạnh của một tam giác vuông, trả về độ dài của cạnh huyền. (Dấu. x ** 0. 5 sẽ trả về căn bậc hai. )

  11. Viết hàm is_rightangled , cho biết độ dài ba cạnh của một tam giác, sẽ xác định xem tam giác đó có phải là góc vuông hay không. Giả sử rằng đối số thứ ba của hàm luôn là cạnh dài nhất. Nó sẽ trả về True nếu tam giác vuông góc hoặc Sai .

    Gợi ý. Số học dấu phẩy động không phải lúc nào cũng chính xác, vì vậy không an toàn khi kiểm tra các số dấu phẩy động để tìm sự bằng nhau. Nếu một lập trình viên giỏi muốn biết liệu x có bằng hoặc đủ gần với y, they would probably code it up as:

    n * 0 == 0
    
    8

  12. Mở rộng chương trình trên để các cạnh có thể được cung cấp cho hàm theo thứ tự bất kỳ

  13. Nếu bạn thắc mắc tại sao số học dấu phẩy động đôi khi không chính xác, hãy chia 10 cho 3 trên một tờ giấy và viết kết quả ở phần thập phân. Bạn sẽ thấy nó không kết thúc, vì vậy bạn sẽ cần một tờ giấy dài vô hạn. Việc biểu diễn các số trong bộ nhớ máy tính hoặc trên máy tính của bạn cũng gặp vấn đề tương tự. bộ nhớ là hữu hạn và một số chữ số có thể phải bị loại bỏ. Vì vậy, sự không chính xác nhỏ lẻn vào. Hãy thử kịch bản này

    Sai có giống như == false Python không?

    Python diễn giải nhiều (trong) đẳng thức theo cách bạn mong đợi trong môn Toán. Trong Toán a = b = c có nghĩa là tất cả a = b , b = c và a = c. Vậy Đúng là Sai == Sai có nghĩa là Đúng == Sai và Sai == Sai và Đúng == Sai , tức là Sai . Đối với hằng số boolean, is tương đương với ==.

    == false nghĩa là gì trong Python?

    Định nghĩa và cách sử dụng . Từ khóa False giống như 0 ( True giống như 1). The False keyword is a Boolean value, and result of a comparison operation. The False keyword is the same as 0 ( True is the same as 1).

    Là 0 == sai trong Python?

    Python gán giá trị boolean cho giá trị của các loại khác. Đối với các loại số như số nguyên và dấu phẩy động, giá trị 0 là sai và giá trị khác 0 là đúng.

    Đầu ra của false == false hay true là gì?

    Bây giờ biểu thức trở thành Sai hoặc Sai nên kết quả là Sai . print(False==(False or True)) phần thứ hai của biểu thức (Sai ​​hoặc True) cho kết quả là True vì () có mức độ ưu tiên cao nhất và False==True là Sai.