Python không đúng nếu câu lệnh

Các câu lệnh được giới thiệu trong chương này sẽ liên quan đến các bài kiểm tra hoặc điều kiện. Cú pháp khác cho các điều kiện sẽ được giới thiệu sau, nhưng bây giờ hãy xem xét các phép so sánh số học đơn giản dịch trực tiếp từ toán học sang Python. Hãy thử từng dòng riêng biệt trong Shell

2 < 5
3 > 7
x = 11
x > 10
2 * x < x
type(True)

Bạn thấy rằng các điều kiện là

'a' > 5
1 hoặc
'a' > 5
2. Đây là những giá trị Boolean duy nhất có thể (được đặt tên theo nhà toán học thế kỷ 19 George Boole). Trong Python, tên Boolean được rút ngắn thành loại
'a' > 5
3. Đó là loại kết quả của các điều kiện hoặc phép thử đúng sai

Ghi chú

Các giá trị Boolean

'a' > 5
1 và
'a' > 5
2 không có dấu ngoặc kép xung quanh chúng. Cũng giống như
'a' > 5
6 là một chuỗi và
'a' > 5
7 không có dấu ngoặc kép thì không,
'a' > 5
8 là một chuỗi, không phải kiểu bool

3. 1. 2. Đơn giản 'a' > 5 9 câu lệnh

Chạy chương trình ví dụ này, vali. py. Hãy thử ít nhất hai lần, với đầu vào. 30 rồi 55. Như bạn thấy, bạn nhận được một kết quả bổ sung, tùy thuộc vào đầu vào. Mã chính là

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")

Hai dòng ở giữa là một câu lệnh

'a' > 5
9. Nó đọc khá giống tiếng Anh. Nếu đúng là trọng lượng lớn hơn 50 thì in ra câu lệnh tính thêm phí. Nếu không đúng trọng số lớn hơn 50 thì không làm phần thụt. bỏ qua việc in thêm phí hành lý. Trong bất kỳ trường hợp nào, khi bạn đã hoàn thành câu lệnh
'a' > 5
9 (dù nó có thực sự làm gì hay không), hãy chuyển sang câu lệnh tiếp theo không được thụt vào bên dưới câu lệnh
'a' > 5
9. Trong trường hợp này đó là câu lệnh in “Thank you”

Cú pháp Python chung cho một câu lệnh

'a' > 5
9 đơn giản là

'a' > 5
9 điều kiện
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
5

indentedStatementBlock

Nếu điều kiện là đúng, thì hãy thực hiện các câu lệnh thụt lề. Nếu điều kiện không đúng thì bỏ qua các câu lệnh thụt lề

Một đoạn khác làm ví dụ

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer

Cũng như các loại câu lệnh khác có tiêu đề và khối thụt vào, khối có thể có nhiều hơn một câu lệnh. Giả định trong ví dụ trên là nếu một tài khoản bị âm, nó sẽ được đưa về 0 bằng cách chuyển tiền từ tài khoản dự phòng theo một số bước

Trong các ví dụ trên, sự lựa chọn là giữa làm gì đó (nếu điều kiện là _______1_______1) hoặc không làm gì (nếu điều kiện là _______1_______2). Thường có hai lựa chọn, chỉ một trong số đó sẽ được thực hiện, tùy thuộc vào sự thật của một điều kiện

3. 1. 3. 'a' > 5 9-def calcWeeklyWages(totalHours, hourlyWage): '''Return the total weekly wages for a worker working totalHours, with a given regular hourlyWage. Include overtime for hours over 40. ''' 9 Báo cáo

Chạy chương trình ví dụ,

def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
    if totalHours <= 40:
        totalWages = hourlyWage*totalHours
    else:
        overtime = totalHours - 40
        totalWages = hourlyWage*40 + (1.5*hourlyWage)*overtime
    return totalWages

def main():
    hours = float(input('Enter hours worked: '))
    wage = float(input('Enter dollars paid per hour: '))
    total = calcWeeklyWages(hours, wage)
    print('Wages for {hours} hours at ${wage:.2f} per hour are ${total:.2f}.'
          .format(**locals()))

main()
0. Hãy thử ít nhất hai lần, với đầu vào 50 và sau đó là 80. Như bạn có thể thấy, bạn nhận được các kết quả khác nhau, tùy thuộc vào đầu vào. Mã chính của
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
    if totalHours <= 40:
        totalWages = hourlyWage*totalHours
    else:
        overtime = totalHours - 40
        totalWages = hourlyWage*40 + (1.5*hourlyWage)*overtime
    return totalWages

def main():
    hours = float(input('Enter hours worked: '))
    wage = float(input('Enter dollars paid per hour: '))
    total = calcWeeklyWages(hours, wage)
    print('Wages for {hours} hours at ${wage:.2f} per hour are ${total:.2f}.'
          .format(**locals()))

main()
0 là

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')

Bốn dòng ở giữa là câu lệnh if-else. Một lần nữa, nó gần với tiếng Anh, mặc dù bạn có thể nói “otherwise” thay vì “else” (nhưng other thì ngắn hơn. ). Có hai khối thụt vào. Một, giống như trong câu lệnh

'a' > 5
9 đơn giản, xuất hiện ngay sau tiêu đề
'a' > 5
9 và được thực hiện khi điều kiện trong tiêu đề
'a' > 5
9 là đúng. Trong biểu mẫu
'a' > 5
9-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9, theo sau nó là một dòng
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
    if totalHours <= 40:
        totalWages = hourlyWage*totalHours
    else:
        overtime = totalHours - 40
        totalWages = hourlyWage*40 + (1.5*hourlyWage)*overtime
    return totalWages

def main():
    hours = float(input('Enter hours worked: '))
    wage = float(input('Enter dollars paid per hour: '))
    total = calcWeeklyWages(hours, wage)
    print('Wages for {hours} hours at ${wage:.2f} per hour are ${total:.2f}.'
          .format(**locals()))

main()
7, tiếp theo là một khối thụt vào khác chỉ được thực hiện khi điều kiện ban đầu là sai. Trong một câu lệnh
'a' > 5
9-_______16_______9, chính xác một trong hai khối thụt lề có thể được thực thi

Một dòng cũng được hiển thị thụt vào bên cạnh, loại bỏ thụt lề, về việc tập thể dục. Vì nó được đánh dấu, nên nó không phải là một phần của câu lệnh if-else. Vì số lượng thụt đầu dòng của nó khớp với tiêu đề

'a' > 5
9, nên nó luôn được thực hiện trong luồng câu lệnh chuyển tiếp thông thường, sau câu lệnh
'a' > 5
9-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 (bất kỳ khối nào được chọn)

Cú pháp chung của Python

'a' > 5
9-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 là

'a' > 5
9 điều kiện

indentedStatementBlockForTrueCondition

def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
    if totalHours <= 40:
        totalWages = hourlyWage*totalHours
    else:
        overtime = totalHours - 40
        totalWages = hourlyWage*40 + (1.5*hourlyWage)*overtime
    return totalWages

def main():
    hours = float(input('Enter hours worked: '))
    wage = float(input('Enter dollars paid per hour: '))
    total = calcWeeklyWages(hours, wage)
    print('Wages for {hours} hours at ${wage:.2f} per hour are ${total:.2f}.'
          .format(**locals()))

main()
7

indentedStatementBlockForFalseCondition

Các khối câu lệnh này có thể có bất kỳ số lượng câu lệnh nào và có thể bao gồm bất kỳ loại câu lệnh nào

Thấy

3. 1. 4. Biểu thức điều kiện khác

Tất cả các so sánh số học thông thường có thể được thực hiện, nhưng nhiều phép so sánh không sử dụng ký hiệu toán học tiêu chuẩn, chủ yếu là do thiếu các phím thích hợp trên bàn phím tiêu chuẩn

MeaningMath SymbolPython SymbolsLess than<
    if totalHours <= 40:
        regularHours = totalHours
        overtime = 0
    else:
        overtime = totalHours - 40
        regularHours = 40
    return hourlyWage*regularHours + (1.5*hourlyWage)*overtime
7Greater than>
    if totalHours <= 40:
        regularHours = totalHours
        overtime = 0
    else:
        overtime = totalHours - 40
        regularHours = 40
    return hourlyWage*regularHours + (1.5*hourlyWage)*overtime
8Less than or equal≤
    if totalHours <= 40:
        regularHours = totalHours
        overtime = 0
    else:
        overtime = totalHours - 40
        regularHours = 40
    return hourlyWage*regularHours + (1.5*hourlyWage)*overtime
9Greater than or equal≥
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
0Equals=
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
1Not equal≠
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
2

Không được có khoảng cách giữa các ký tự thay thế bằng hai ký hiệu Python

Lưu ý rằng sự lựa chọn rõ ràng cho dấu bằng, một dấu bằng duy nhất, không được sử dụng để kiểm tra sự bằng nhau. Một dấu bằng thứ hai khó chịu là bắt buộc. Điều này là do dấu bằng duy nhất đã được sử dụng để gán trong Python, vì vậy nó không có sẵn cho các bài kiểm tra

Cảnh báo

Một lỗi phổ biến là chỉ sử dụng một dấu bằng khi bạn muốn kiểm tra sự bằng nhau và không thực hiện phép gán

Các bài kiểm tra về đẳng thức không thực hiện phép gán và chúng không yêu cầu một biến ở bên trái. Bất kỳ biểu thức nào cũng có thể được kiểm tra về đẳng thức hoặc bất đẳng thức (

>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
2). Chúng không cần phải là số. Dự đoán kết quả và thử từng dòng trong Shell

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]

Một kiểm tra bình đẳng không thực hiện một bài tập. Các chuỗi có phân biệt chữ hoa chữ thường. Thứ tự các vấn đề trong một danh sách

Thử trong Shell

'a' > 5

Khi so sánh không có ý nghĩa, một ngoại lệ được gây ra.

Theo dõi cuộc thảo luận về tính không chính xác của số học float trong , xác nhận rằng Python không xem xét. 1 +. 2 bằng. 3. Viết một điều kiện đơn giản vào Shell để kiểm tra

Đây là một ví dụ khác. Trả tiền làm thêm giờ. Cho biết số giờ làm việc của một người trong tuần và tiền lương theo giờ thông thường, hãy tính tổng tiền lương trong tuần, có tính đến thời gian làm thêm giờ. Số giờ làm việc trên 40 là làm thêm giờ, được trả lương 1. gấp 5 lần mức bình thường. Đây là một vị trí tự nhiên cho một chức năng kèm theo tính toán

Đọc thiết lập cho chức năng

def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''

Bài toán chỉ rõ hai trường hợp. khi làm việc không quá 40 giờ hoặc khi làm việc hơn 40 giờ. Trong trường hợp làm việc hơn 40 giờ, sẽ thuận tiện khi giới thiệu giờ làm thêm giờ thay đổi. Bạn được khuyến khích suy nghĩ về một giải pháp trước khi tiếp tục và kiểm tra giải pháp của tôi

Bạn có thể thử chạy chương trình ví dụ hoàn chỉnh của tôi, tiền lương. py, cũng được hiển thị bên dưới. Thao tác định dạng ở cuối hàm chính sử dụng định dạng dấu phẩy động () để hiển thị hai vị trí thập phân cho xu trong câu trả lời

def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
    if totalHours <= 40:
        totalWages = hourlyWage*totalHours
    else:
        overtime = totalHours - 40
        totalWages = hourlyWage*40 + (1.5*hourlyWage)*overtime
    return totalWages

def main():
    hours = float(input('Enter hours worked: '))
    wage = float(input('Enter dollars paid per hour: '))
    total = calcWeeklyWages(hours, wage)
    print('Wages for {hours} hours at ${wage:.2f} per hour are ${total:.2f}.'
          .format(**locals()))

main()

Ở đây, đầu vào được dự định là số, nhưng nó có thể là số thập phân nên việc chuyển đổi từ chuỗi thông qua

>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
4, không phải
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
5

Dưới đây là phiên bản thay thế tương đương của phần thân của

>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
6, được sử dụng trong
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
7. Nó chỉ sử dụng một công thức tính toán chung và thiết lập các tham số cho công thức trong câu lệnh
'a' > 5
9. Nhìn chung, có một số cách bạn có thể giải quyết cùng một vấn đề

    if totalHours <= 40:
        regularHours = totalHours
        overtime = 0
    else:
        overtime = totalHours - 40
        regularHours = 40
    return hourlyWage*regularHours + (1.5*hourlyWage)*overtime

Toán tử boolean
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
9

Ngoài ra còn có các toán tử Boolean được áp dụng cho các loại khác ngoài số. Một toán tử Boolean hữu ích là

>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
9, kiểm tra tư cách thành viên theo trình tự

>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False

Nó cũng có thể được sử dụng với

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
01, như
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
02, có nghĩa ngược lại

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
0

Nói chung hai phiên bản là

mục

>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
9 trình tự

mục

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
02 trình tự

Phát hiện sự cần thiết của câu lệnh

'a' > 5
9. Giống như với các chương trình lập kế hoạch cần các câu lệnh``for``, bạn muốn có thể dịch các mô tả vấn đề bằng tiếng Anh mà đương nhiên sẽ bao gồm các câu lệnh
'a' > 5
9 hoặc
'a' > 5
9-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9. Một số từ hoặc cụm từ hoặc ý tưởng gợi ý việc sử dụng các câu này là gì? .

3. 1. 4. 1. bài tập tốt nghiệp

Viết chương trình,

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
09, nhắc học sinh biết họ có bao nhiêu tín chỉ. In xem họ có đủ tín chỉ để tốt nghiệp hay không. (Tại Đại học Loyola Chicago, cần 120 tín chỉ để tốt nghiệp. )

3. 1. 4. 2. Bài tập đầu hoặc đuôi

Viết chương trình

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
10. Nó nên bao gồm một chức năng
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
11, mô phỏng một lần tung đồng xu. Nó in ngẫu nhiên hoặc là
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
12 hoặc là
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
13. Thực hiện điều này bằng cách chọn 0 hoặc 1 tùy ý với
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
14, và sử dụng câu lệnh
'a' > 5
9-_______16_______9 để in ra
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
12 khi kết quả là 0, và ngược lại là
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
13

Trong chương trình chính của bạn có một vòng lặp lặp lại đơn giản gọi

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
11 10 lần để kiểm tra nó, vì vậy bạn tạo một chuỗi ngẫu nhiên gồm 10
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
12 và
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
13

3. 1. 4. 3. Bài tập chức năng lạ

Lưu chương trình ví dụ

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
22 thành
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
23 và hoàn thành các định nghĩa về hàm
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
24 và
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
25 như được mô tả trong chuỗi tài liệu hàm trong chương trình. Trong định nghĩa hàm
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
24, hãy sử dụng câu lệnh
'a' > 5
9-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 (gợi ý). Trong định nghĩa hàm
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
25, hãy sử dụng một vòng lặp
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
30, hàm phạm vi và hàm nhảy

Hàm

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
24 được giới thiệu để sử dụng trong và các hàm khác sau đó

3. 1. 5. Nhiều bài kiểm tra và câu nói 'a' > 5 9- weight = float(input("How many pounds does your suitcase weigh? ")) if weight > 50: print("There is a $25 charge for luggage that heavy.") print("Thank you for your business.") 33

Thường thì bạn muốn phân biệt giữa nhiều hơn hai trường hợp riêng biệt, nhưng điều kiện chỉ có hai kết quả có thể xảy ra,

'a' > 5
1 hoặc
'a' > 5
2, vì vậy lựa chọn trực tiếp duy nhất là giữa hai lựa chọn. Như bất kỳ ai đã từng chơi “20 câu hỏi” đều biết, bạn có thể phân biệt nhiều trường hợp hơn bằng các câu hỏi tiếp theo. Nếu có nhiều hơn hai lựa chọn, một phép thử đơn lẻ có thể chỉ làm giảm các khả năng, nhưng các phép thử tiếp theo có thể làm giảm các khả năng ngày càng nhiều hơn. Vì hầu hết mọi loại câu lệnh đều có thể được đặt trong một khối câu lệnh thụt vào, nên một lựa chọn là một câu lệnh
'a' > 5
9 tiếp theo. Chẳng hạn, hãy xem xét một hàm để chuyển đổi điểm số thành điểm chữ cái, 'A', 'B', 'C', 'D' hoặc 'F', trong đó các điểm cắt cho 'A', 'B', 'C' . Một cách để viết hàm sẽ là kiểm tra từng lớp một và giải quyết tất cả các khả năng còn lại bên trong mệnh đề
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 tiếp theo

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
1

Việc thụt đầu dòng tăng dần liên tục này với câu lệnh

'a' > 5
9 vì khối
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 có thể gây khó chịu và mất tập trung. Một giải pháp thay thế ưu tiên trong tình huống này, để tránh tất cả sự thụt đầu dòng này, là kết hợp mỗi khối
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 và
'a' > 5
9 thành một khối
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
2

Cú pháp phức tạp nhất cho một câu lệnh

'a' > 5
9-
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 được chỉ ra một cách tổng quát bên dưới

'a' > 5
9 điều kiện1
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
5

indentedStatementBlockForTrueCondition1

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33 điều kiện2
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
5

indentedStatementBlockForFirstTrueCondition2

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33 điều kiện3
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
5

indentedStatementBlockForFirstTrueCondition3

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33 điều kiện4
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
5

indentedStatementBlockForFirstTrueCondition4

def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
    if totalHours <= 40:
        totalWages = hourlyWage*totalHours
    else:
        overtime = totalHours - 40
        totalWages = hourlyWage*40 + (1.5*hourlyWage)*overtime
    return totalWages

def main():
    hours = float(input('Enter hours worked: '))
    wage = float(input('Enter dollars paid per hour: '))
    total = calcWeeklyWages(hours, wage)
    print('Wages for {hours} hours at ${wage:.2f} per hour are ${total:.2f}.'
          .format(**locals()))

main()
7

indentedStatementBlockForEachConditionSai

Các dòng

'a' > 5
9, mỗi dòng
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33 và dòng cuối cùng
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 đều thẳng hàng. Có thể có bất kỳ số lượng
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33 dòng nào, mỗi dòng theo sau là một khối thụt vào. (Ba tình cờ được minh họa ở trên. ) Với cấu trúc này, chính xác một trong các khối thụt lề được thực thi. Nó là khối tương ứng với điều kiện
'a' > 5
1 đầu tiên, hoặc, nếu tất cả các điều kiện là
'a' > 5
2, thì nó là khối sau dòng cuối cùng
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9

Cẩn thận với cơn co thắt kỳ lạ của Python. Đó là

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33, không phải
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
63. Một chương trình kiểm tra chức năng letterGrade trong chương trình ví dụ
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
64

Thấy

Phương án thay thế cuối cùng cho câu lệnh

'a' > 5
9.
'a' > 5
9-
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33-. không có
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9. Điều này có nghĩa là thay đổi cú pháp cho
'a' > 5
9-
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 ở trên để phần cuối cùng của
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
    if totalHours <= 40:
        totalWages = hourlyWage*totalHours
    else:
        overtime = totalHours - 40
        totalWages = hourlyWage*40 + (1.5*hourlyWage)*overtime
    return totalWages

def main():
    hours = float(input('Enter hours worked: '))
    wage = float(input('Enter dollars paid per hour: '))
    total = calcWeeklyWages(hours, wage)
    print('Wages for {hours} hours at ${wage:.2f} per hour are ${total:.2f}.'
          .format(**locals()))

main()
7 và khối sau nó sẽ bị bỏ qua. Nó tương tự như câu lệnh cơ bản
'a' > 5
9 không có
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9, ở chỗ không có khối thụt lề nào có thể được thực thi. Điều này xảy ra nếu không có điều kiện nào trong các bài kiểm tra là đúng

Với một

def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 được bao gồm, chính xác một trong các khối thụt lề được thực thi. Không có
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9, nhiều nhất một trong các khối thụt lề được thực thi

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
3

Câu lệnh

'a' > 5
9-
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33 này chỉ in một dòng nếu trọng lượng của vali có vấn đề

3. 1. 5. 1. ký tập thể dục

Viết chương trình

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
79 để hỏi người dùng một số. In ra số đó thuộc danh mục nào.
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
80,
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
81, hoặc
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
82

3. 1. 5. 2. lớp tập thể dục

Ở chế độ Chờ, tải

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
64 và lưu dưới dạng
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
84 Sửa đổi
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
84 để nó có phiên bản tương đương của hàm letterGrade kiểm tra theo thứ tự ngược lại, đầu tiên là F, sau đó là D, C,. Gợi ý. Bạn cần làm bao nhiêu xét nghiệm?

Đảm bảo chạy phiên bản mới của bạn và thử nghiệm với các đầu vào khác nhau để kiểm tra tất cả các đường dẫn khác nhau thông qua chương trình. Hãy cẩn thận để kiểm tra xung quanh các điểm giới hạn. điểm 79 là gì. 6 ngụ ý?

3. 1. 5. 3. tiền lương tập thể dục

* Sửa đổi ví dụ về

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
86 hoặc
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
7 để tạo một chương trình
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
88 giả định rằng mọi người được trả gấp đôi thời gian cho số giờ trên 60. Do đó, họ được trả nhiều nhất là 20 giờ làm thêm vào lúc 1. gấp 5 lần mức bình thường. Ví dụ: một người làm việc 65 giờ với mức lương thông thường là 10 đô la một giờ sẽ làm việc ở mức 10 đô la một giờ trong 40 giờ, lúc 1. 5 * $10 cho 20 giờ làm thêm giờ và 2 * $10 cho 5 giờ làm gấp đôi, tổng cộng là

10*40 + 1. 5*10*20 + 2*10*5 = $800

Bạn có thể thấy

>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
7 dễ thích nghi hơn
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
86

Đảm bảo kiểm tra tất cả các đường dẫn thông qua chương trình. Chương trình của bạn có thể là một bản sửa đổi của chương trình mà một số lựa chọn đã hoạt động trước đó, nhưng khi bạn thay đổi mọi thứ, hãy kiểm tra lại tất cả các trường hợp. Những thay đổi có thể làm rối tung những thứ đã hoạt động trước đây

3. 1. 6. Nesting Control-Flow Statements

Sức mạnh của một ngôn ngữ như Python phần lớn đến từ nhiều cách kết hợp các câu lệnh cơ bản. Đặc biệt, các câu lệnh

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
30 và
'a' > 5
9 có thể được lồng vào bên trong các khối thụt lề của nhau. Ví dụ: giả sử bạn chỉ muốn in số dương

các số từ một danh sách các số tùy ý trong một hàm có tiêu đề sau. Đọc các mảnh cho bây giờ

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
4

Ví dụ: giả sử

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
93 là
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
94. Bạn muốn xử lý một danh sách, do đó gợi ý một vòng lặp
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
30 mỗi vòng,

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
5

nhưng một vòng lặp

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
30-mỗi chạy cùng một nội dung mã cho từng phần tử của danh sách và chúng tôi chỉ muốn

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
6

cho một số người trong số họ. Điều đó có vẻ như là một trở ngại lớn, nhưng hãy suy nghĩ kỹ hơn về những gì cần phải xảy ra một cách cụ thể. Là một con người, người có đôi mắt tinh tường, bạn sẽ ngay lập tức bị thu hút bởi những con số thực sự chính xác, 3, 2 và 7, nhưng rõ ràng một chiếc máy tính làm việc này một cách có hệ thống sẽ phải kiểm tra từng con số. Trên thực tế, cần có một hành động nhất quán. Mỗi số phải được kiểm tra để xem nó có nên được in không. Điều này gợi ý một tuyên bố

'a' > 5
9, với điều kiện
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
98. Hãy thử tải vào Idle và chạy chương trình ví dụ
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
99, có mã được hiển thị bên dưới. Nó kết thúc bằng một dòng kiểm tra chức năng

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
7

Ý tưởng lồng các câu lệnh

'a' > 5
9 này mở rộng rất nhiều khả năng với các vòng lặp. Giờ đây, những việc khác nhau có thể được thực hiện vào những thời điểm khác nhau trong các vòng lặp, miễn là có một thử nghiệm nhất quán để cho phép lựa chọn giữa các phương án. Ngay sau đó, các vòng lặp
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
01 cũng sẽ được giới thiệu và bạn cũng sẽ thấy các câu lệnh
'a' > 5
9 được lồng bên trong chúng.


Phần còn lại của phần này đề cập đến các ví dụ đồ họa

Chạy chương trình ví dụ

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
03. Nó có một quả bóng màu đỏ di chuyển và nảy xiên ra khỏi các cạnh. Nếu bạn xem nhiều lần, bạn sẽ thấy nó bắt đầu từ các vị trí ngẫu nhiên. Ngoài ra, bạn có thể lặp lại chương trình từ dấu nhắc Shell sau khi bạn đã chạy tập lệnh. Chẳng hạn, ngay sau khi chạy chương trình, hãy thử trong Shell

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
8

Các tham số cho biết số lượng hình dạng di chuyển trong mỗi bước hoạt ảnh. Bạn có thể thử các giá trị khác trong Shell, tốt nhất là với cường độ nhỏ hơn 10

Đối với phần còn lại của mô tả về ví dụ này, hãy đọc các đoạn văn bản được trích xuất

Các hoạt ảnh trước đó hoàn toàn được viết theo kịch bản, cho biết chính xác có bao nhiêu chuyển động theo hướng nào, nhưng trong trường hợp này, hướng chuyển động thay đổi theo mỗi lần nảy. Chương trình có một đối tượng đồ họa

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
04 và bước hoạt hình trung tâm là

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
9

nhưng trong trường hợp này, dx và dy phải thay đổi khi quả bóng đến một đường biên. Chẳng hạn, hãy tưởng tượng quả bóng đi về phía bên trái khi nó đang di chuyển sang trái và lên trên. Cú nảy rõ ràng làm thay đổi phần nằm ngang của chuyển động, trên thực tế là đảo ngược nó, nhưng quả bóng vẫn tiếp tục bay lên. Sự đảo ngược của phần nằm ngang của chuyển động có nghĩa là sự dịch chuyển ngang thay đổi hướng và do đó dấu hiệu của nó

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
0

nhưng

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
05 không cần thay đổi. Việc chuyển đổi này không xảy ra ở mỗi bước hoạt ảnh mà chỉ xảy ra khi quả bóng đến mép cửa sổ. Nó chỉ xảy ra đôi khi - gợi ý một tuyên bố
'a' > 5
9. Vẫn phải xác định điều kiện. Giả sử tâm quả cầu có tọa độ (x, y). Khi x đạt đến một số tọa độ x cụ thể, hãy gọi nó là xLow, quả bóng sẽ nảy

Python không đúng nếu câu lệnh

Cạnh của cửa sổ nằm ở tọa độ 0, nhưng

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
07 không được là 0, nếu không quả bóng sẽ cách nửa màn hình trước khi nảy. Để cạnh của quả bóng chạm vào cạnh của màn hình, tọa độ x của tâm phải bằng độ dài của bán kính ra xa, vì vậy thực ra
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
07 là bán kính của quả bóng

Hoạt hình diễn ra nhanh chóng theo từng bước nhỏ, vì vậy tôi gian lận. Tôi cho phép quả bóng đi một bước (nhỏ, nhanh) qua nơi nó thực sự phải đi (

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
07), và sau đó chúng tôi đảo ngược nó để nó quay trở lại nơi nó thuộc về. Đặc biệt

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
1

Có các biến giới hạn tương tự như

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
10,
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
11 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
12, tất cả bán kính cách xa tọa độ cạnh thực tế và các điều kiện tương tự để kiểm tra độ nảy của mỗi cạnh có thể. Lưu ý rằng bất kỳ cạnh nào bị bắn trúng, một tọa độ, dx hoặc dy, sẽ đảo ngược. Một cách mà bộ sưu tập các bài kiểm tra có thể được viết là

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
2

Cách tiếp cận này sẽ gây ra một số thử nghiệm bổ sung. Nếu đúng là

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
13, thì không thể nào đúng là
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
14, vì vậy chúng tôi không cần cả hai bài kiểm tra cùng nhau. Chúng tôi tránh các thử nghiệm không cần thiết với mệnh đề elif (cho cả x và y)

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
3

Lưu ý rằng

'a' > 5
9 ở giữa không được đổi thành
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33, vì bóng có thể đi đến góc và cần đảo ngược cả
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
17 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
05

Chương trình cũng sử dụng một số phương thức để đọc một phần trạng thái của các đối tượng đồ họa mà chúng tôi chưa sử dụng trong các ví dụ. Các đối tượng đồ họa khác nhau, chẳng hạn như hình tròn mà chúng ta đang sử dụng làm hình dạng, biết điểm trung tâm của chúng và có thể truy cập nó bằng phương thức

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
19. (Trên thực tế, một bản sao của điểm được trả lại. ) Ngoài ra, mỗi tọa độ của một
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
20 có thể được truy cập bằng các phương thức
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
21 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
22

Điều này giải thích các tính năng mới trong chức năng trung tâm được xác định để chuyển xung quanh trong hộp,

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
23. Hoạt hình tùy ý diễn ra trong một vòng lặp lặp lại đơn giản trong 600 bước. (Một ví dụ sau sẽ cải thiện hành vi này. )

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
4

Chương trình bắt đầu quả bóng từ một điểm tùy ý bên trong giới hạn hình chữ nhật cho phép. Điều này được gói gọn trong một chức năng tiện ích có trong chương trình,

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
24. Hàm getRandomPoint sử dụng hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
25 từ mô-đun
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
26. Lưu ý rằng trong các tham số cho cả hai hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
27 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
25, phần cuối được nêu vượt quá giá trị cuối cùng thực sự mong muốn

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
5

Toàn bộ chương trình được liệt kê dưới đây, lặp lại

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
23 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
24 cho đầy đủ. Một số phần có thể hữu ích sau này hoặc dễ theo dõi nhất dưới dạng một đơn vị, được tách ra thành các chức năng. Hãy chắc chắn rằng bạn thấy mọi thứ kết hợp với nhau như thế nào hoặc đặt câu hỏi

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
6

3. 1. 6. 1. Bài tập chuỗi ngắn

Viết chương trình

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
31 với hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
32 với tiêu đề

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
7

Trong chương trình chính của bạn, hãy kiểm tra chức năng, gọi nó nhiều lần với các danh sách chuỗi khác nhau. Gợi ý. Tìm độ dài của mỗi chuỗi bằng hàm

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
33

Tài liệu chức năng ở đây mô hình hóa một cách tiếp cận chung. minh họa hành vi của hàm bằng tương tác Python Shell. Phần này bắt đầu bằng một dòng bắt đầu bằng

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
34. Các bài tập và ví dụ khác cũng sẽ ghi lại hành vi trong Shell

3. 1. 6. 2. Bài tập in đều

Viết chương trình

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
35 với hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
36 với tiêu đề

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
8

Trong chương trình chính của bạn, hãy kiểm tra hàm, gọi nó nhiều lần với các danh sách số nguyên khác nhau. Gợi ý. Một số là số chẵn nếu số dư của nó khi chia cho 2 là 0

3. 1. 6. 3. Bài tập về danh sách chẵn

Viết chương trình

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
37 với hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
38 với tiêu đề

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
9

Trong chương trình chính của bạn, hãy kiểm tra hàm, gọi nó nhiều lần với các danh sách số nguyên khác nhau và in kết quả trong chương trình chính. (Chuỗi tài liệu minh họa lệnh gọi hàm trong trình bao Python, nơi giá trị trả về được in tự động. Hãy nhớ rằng trong một chương trình, bạn chỉ in những gì bạn nói rõ ràng là in. ) Gợi ý. Trong hàm, hãy tạo một danh sách mới và nối các số thích hợp vào danh sách đó trước khi trả về kết quả

3. 1. 6. 4. Bài tập danh sách duy nhất

* Chương trình

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
39 có hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
40, trước tiên tạo danh sách mỗi lần xuất hiện của một gợi ý ở định dạng câu chuyện. Điều này đưa ra các tín hiệu theo thứ tự, nhưng có thể bao gồm các lần lặp lại. Phiên bản gốc của
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
40 sử dụng một phương pháp nhanh chóng để loại bỏ các bản trùng lặp, tạo thành một bộ từ danh sách. Có một bất lợi trong việc chuyển đổi, mặc dù. Các bộ không được sắp xếp theo thứ tự, vì vậy khi bạn lặp qua bộ kết quả, thứ tự của các tín hiệu có thể sẽ không giống với thứ tự chúng xuất hiện lần đầu trong danh sách. Vấn đề đó thúc đẩy vấn đề này

Sao chép

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
39 thành
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
43 và thêm chức năng với tiêu đề này

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
0

Gợi ý. Xử lý

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
44 theo thứ tự. Sử dụng cú pháp
>>> vals = ['this', 'is', 'it]
>>> 'is' in vals
True
>>> 'was' in vals
False
9 để chỉ nối các phần tử vào danh sách mới chưa có trong danh sách mới

Sau khi hoàn thiện chức năng

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
46, hãy thay thế dòng cuối cùng của
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
40, vì vậy nó sử dụng
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
46 để loại bỏ các bản sao trong
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
49

Kiểm tra xem

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
43 của bạn có nhắc bạn về các giá trị tín hiệu theo thứ tự các tín hiệu xuất hiện đầu tiên trong chuỗi định dạng madlib không

3. 1. 7. Biểu thức Boolean hợp chất

Để đủ điều kiện tốt nghiệp Đại học Loyola Chicago, bạn phải có 120 tín chỉ và điểm trung bình tối thiểu là 2. 0. Điều này chuyển trực tiếp sang Python dưới dạng điều kiện ghép

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
1

Điều này đúng nếu cả

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
51 đều đúng và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
52 đúng. Một chương trình ví dụ ngắn sử dụng điều này sẽ là

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
2

Cú pháp Python mới dành cho toán tử

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
53

điều kiện1

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
53 điều kiện2

Điều kiện hợp chất là đúng nếu cả hai điều kiện thành phần đều đúng. Nó là sai nếu ít nhất một trong các điều kiện là sai

Thấy

Trong ví dụ cuối cùng ở phần trước, có một câu lệnh

'a' > 5
9-
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33 trong đó cả hai bài kiểm tra đều có cùng một khối được thực hiện nếu điều kiện là đúng

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
3

Có một cách đơn giản hơn để diễn đạt điều này trong một câu. Nếu x < xLow hoặc x > xHigh thì đổi dấu của dx. Điều đó dịch trực tiếp sang Python

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
4

Từ

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
57 tạo thành một điều kiện ghép khác

điều kiện1

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
57 điều kiện2

là đúng nếu ít nhất một trong các điều kiện là đúng. Sai nếu cả hai điều kiện đều sai. Điều này tương ứng với một cách mà từ “hoặc” được sử dụng trong tiếng Anh. Những lần khác trong tiếng Anh “hoặc” được dùng để chỉ chính xác một phương án đúng

Cảnh báo

Khi dịch một vấn đề được nêu bằng tiếng Anh bằng cách sử dụng “hoặc”, hãy cẩn thận để xác định xem nghĩa có khớp với

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
57 của Python không


Nó thường thuận tiện để đóng gói các bài kiểm tra phức tạp bên trong một chức năng. Hãy suy nghĩ làm thế nào để hoàn thành chức năng bắt đầu

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
5

Nhớ lại rằng một

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
60 được xác định trong hàm tạo của nó bằng hai đường chéo đối nhau của các
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
20. Ví dụ này đưa ra cách sử dụng đầu tiên trong các hướng dẫn về phương pháp
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
60 phục hồi hai điểm góc đó,
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
63 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
64. Chương trình gọi số điểm đạt được theo cách này là
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
65 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
66. Tọa độ x và y của
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
65,
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
66 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
69 có thể được phục hồi bằng các phương pháp của loại
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
20,
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
21 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
22

Giả sử rằng tôi giới thiệu các biến cho tọa độ x của

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
65,
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
69 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
66, gọi các tọa độ x này lần lượt là
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
76,
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
77 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
78. Trong lần thử đầu tiên, bạn có thể quyết định rằng mối quan hệ toán học cần thiết để kiểm tra là

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
6

Thật không may, điều này là không đủ. Yêu cầu duy nhất đối với hai điểm góc là chúng đối diện nhau theo đường chéo, không phải tọa độ của điểm thứ hai cao hơn tọa độ tương ứng của điểm thứ nhất. Nó có thể là

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
76 là 200; . Trong trường hợp sau này,
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
77 nằm giữa
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
76 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
78, nhưng thay thế vào biểu thức trên

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
7

là sai. 100 và 200 cần phải đảo ngược trong trường hợp này. Điều này làm cho một tình hình phức tạp. Ngoài ra, đây là một vấn đề phải được xem xét lại cho cả tọa độ x và y. Tôi giới thiệu một chức năng phụ trợ

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
85 để xử lý một tọa độ tại một thời điểm. Nó bắt đầu

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
8

Rõ ràng điều này đúng nếu biểu thức ban đầu,

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
86, là đúng. Bạn cũng phải xem xét trường hợp có thể xảy ra khi thứ tự của các đầu bị đảo ngược.
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
87. Làm thế nào để chúng ta kết hợp hai khả năng này? . Cái nào áp dụng?

Một thân hàm đúng nhưng dư thừa sẽ là

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
9

Kiểm tra ý nghĩa. nếu biểu thức ghép là

'a' > 5
1, trả về
'a' > 5
1. Nếu điều kiện là
'a' > 5
2, hãy trả về
'a' > 5
2 – trong cả hai trường hợp, hãy trả về cùng một giá trị như điều kiện kiểm tra. Thấy rằng một phiên bản đơn giản và gọn gàng hơn nhiều là chỉ trả về giá trị của chính điều kiện đó

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
0

Ghi chú

Nói chung, bạn không cần câu lệnh

'a' > 5
9-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 để chọn giữa các giá trị đúng và sai. Thao tác trực tiếp trên biểu thức boolean

Một nhận xét phụ về các biểu thức như

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
6

Khác với các toán tử hai ký tự, điều này giống như cú pháp toán học tiêu chuẩn, so sánh chuỗi. Trong Python, bất kỳ số lượng phép so sánh nào cũng có thể được xâu chuỗi theo cách này, gần đúng với ký hiệu toán học. Mặc dù đây là Python tốt, hãy lưu ý rằng nếu bạn thử các ngôn ngữ cấp cao khác như Java và C++, cách diễn đạt như vậy là vô nghĩa. Một cách khác có thể diễn đạt biểu thức (và dịch trực tiếp sang các ngôn ngữ khác) là

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
2

Quá nhiều cho chức năng phụ trợ

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
85. Quay lại hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
98. Bạn có thể sử dụng hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
85 để kiểm tra tọa độ x,

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
3

và để kiểm tra tọa độ y,

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
4

Một lần nữa câu hỏi đặt ra. làm thế nào để bạn kết hợp hai bài kiểm tra?

Trong trường hợp này, chúng ta cần điểm nằm ở cả hai bên và giữa trên và dưới, do đó, đầu nối thích hợp là và

Nghĩ cách kết thúc phương pháp

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
98. Gợi ý.

Đôi khi bạn muốn kiểm tra điều ngược lại của một điều kiện. Như trong tiếng Anh, bạn có thể sử dụng từ

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
01. Chẳng hạn, để kiểm tra xem một Điểm không nằm trong Rectangle Rect hay không, bạn có thể sử dụng điều kiện

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
5

Nói chung,

    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
01 điều kiện

'a' > 5
1 khi điều kiện là
'a' > 5
2, và
'a' > 5
2 khi điều kiện là
'a' > 5
1

Chương trình ví dụ

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
07, hiển thị bên dưới, là một chương trình hoàn chỉnh sử dụng hàm
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
98 trong một ứng dụng đơn giản, chọn màu. tha thứ cho chiều dài. Hãy kiểm tra xem nó ra. Nó sẽ là điểm khởi đầu cho một số cải tiến nhằm rút ngắn và làm cho nó mạnh mẽ hơn trong phần tiếp theo. Đầu tiên một cái nhìn tổng quan ngắn gọn

Chương trình bao gồm các chức năng

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
85 và
if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
98 đã được thảo luận. Chương trình tạo một số hình chữ nhật màu để sử dụng làm nút và cũng như các thành phần hình ảnh. Ngoài các giá trị dữ liệu cụ thể, mã để tạo mỗi hình chữ nhật đều giống nhau, vì vậy hành động được gói gọn trong một hàm,
    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
11. Tất cả điều này là tốt, và sẽ được bảo tồn trong các phiên bản sau

Chức năng chính hiện tại là dài, mặc dù. Nó có mã bắt đầu đồ họa thông thường, vẽ các nút và thành phần hình ảnh, sau đó có một số đoạn mã nhắc người dùng chọn màu cho thành phần hình ảnh. Mỗi phần mã có một bài kiểm tra dài

'a' > 5
9-
    weight = float(input("How many pounds does your suitcase weigh? "))
    if weight > 50:
        print("There is a $25 charge for luggage that heavy.")
    print("Thank you for your business.")
33-
def calcWeeklyWages(totalHours, hourlyWage):
    '''Return the total weekly wages for a worker working totalHours,
    with a given regular hourlyWage.  Include overtime for hours over 40.
    '''
9 để xem nút nào đã được nhấp và đặt màu của thành phần hình ảnh một cách thích hợp

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
6

Tính năng mới hơn nữa duy nhất được sử dụng là trong câu trả lời dài trong

if balance < 0:
    transfer = -balance
    # transfer enough from the backup account:
    backupAccount = backupAccount - transfer
    balance = balance + transfer
98

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
7

Nhớ lại rằng Python đủ thông minh để nhận ra rằng một câu lệnh tiếp tục đến dòng tiếp theo nếu có một cặp dấu ngoặc đơn hoặc dấu ngoặc đơn không khớp. Trên đây là một tình huống khác với một câu lệnh dài nhưng không có dấu ngoặc đơn nào liền trên một dòng. Để dễ đọc, tốt nhất là không nên tạo một dòng quá dài sẽ chạy ra khỏi màn hình hoặc trang giấy của bạn. Tiếp tục đến dòng tiếp theo được khuyến nghị. Bạn có thể đặt ký tự cuối cùng trên một dòng thành dấu gạch chéo ngược (

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
16) để biểu thị câu lệnh tiếp tục ở dòng tiếp theo. Đây không phải là đặc biệt gọn gàng, nhưng nó là một tình huống khá hiếm. Hầu hết các câu lệnh nằm gọn gàng trên một dòng và người tạo ra Python đã quyết định tốt nhất là làm cho cú pháp trở nên đơn giản trong tình huống phổ biến nhất. (Nhiều ngôn ngữ khác yêu cầu ký hiệu kết thúc câu lệnh đặc biệt như ';' và không chú ý đến dòng mới). Dấu ngoặc đơn bổ sung ở đây sẽ không ảnh hưởng gì, vì vậy một giải pháp thay thế sẽ là

x = 5
x
x == 5
x == 6
x
x != 6
x = 6
6 == x
6 != x
'hi' == 'h' + 'i'
'HI' != 'hi'
[1, 2] != [2, 1]
8

Nút chọn1. chương trình py dài một phần do mã lặp lại. Phần tiếp theo đưa ra một phiên bản khác liên quan đến danh sách

3. 1. 7. 1. tập thể dục quốc hội

Một người đủ điều kiện trở thành Thượng nghị sĩ Hoa Kỳ ít nhất 30 tuổi và đã là công dân Hoa Kỳ ít nhất 9 năm. Viết phiên bản ban đầu của chương trình

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
17 để lấy tuổi và thời hạn quốc tịch của người dùng và in ra liệu một người có đủ điều kiện trở thành Thượng nghị sĩ hay không

Một người đủ điều kiện trở thành Dân biểu Hoa Kỳ ít nhất 25 tuổi và đã là công dân Hoa Kỳ ít nhất 7 năm. Xây dựng chương trình của bạn

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
17 để nó có được độ tuổi và thời hạn công dân và chỉ in ra một trong ba câu sau đây là chính xác

  • Bạn đủ điều kiện cho cả Hạ viện và Thượng viện
  • Bạn chỉ đủ điều kiện cho Ngôi nhà
  • Bạn không đủ điều kiện cho Quốc hội

3. 1. 8. Các phương thức chuỗi khác

Dưới đây là một vài phương thức chuỗi hữu ích trong các bài tập tiếp theo, giả sử các phương thức này được áp dụng cho một chuỗi

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
19

  • s

        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    20 trước
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    21

    trả về

    'a' > 5
    
    1 nếu chuỗi s bắt đầu bằng chuỗi trước. Cả
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    23 và
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    24 đều là
    'a' > 5
    
    1, nhưng
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    26 là
    'a' > 5
    
    2

  • s

        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    28 hậu tố
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    21

    trả về True nếu chuỗi s kết thúc bằng hậu tố chuỗi. Cả

        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    30 và
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    31 đều là
    'a' > 5
    
    1, nhưng
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    33 là
    'a' > 5
    
    2

  • s

        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    35 phụ
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    36 thay thế
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    36 đếm
        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    21

    trả về một chuỗi mới có tối đa số lần xuất hiện đầu tiên của chuỗi phụ được thay thế bằng thay thế. Sự thay thế có thể là chuỗi trống để xóa phụ. Ví dụ

    x = 5
    x
    x == 5
    x == 6
    x
    x != 6
    x = 6
    6 == x
    6 != x
    'hi' == 'h' + 'i'
    'HI' != 'hi'
    [1, 2] != [2, 1]
    
    9

3. 1. 8. 1. Điều bắt đầu tập thể dục

Trong cách sắp xếp theo thứ tự bảng chữ cái của thư viện, nếu từ đầu tiên là một mạo từ (“The”, “A”, “An”), thì nó sẽ bị bỏ qua khi sắp xếp thứ tự các mục nhập. Viết chương trình hoàn thành chức năng này và sau đó kiểm tra nó

'a' > 5
0

Hãy cẩn thận, nếu tiêu đề bắt đầu bằng “Có”, nó không bắt đầu bằng một bài báo. Bạn nên kiểm tra cái gì?

3. 1. 8. 2. Bài Tập Chuỗi Số Là

** Trong phần sau, điều quan trọng là phải biết liệu một chuỗi có thể được chuyển đổi thành loại số mong muốn hay không. Khám phá điều đó tại đây. Lưu ví dụ

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
39 thành
    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
40 và hoàn thành nó. Nó chứa các tiêu đề và chuỗi tài liệu cho các chức năng trong cả hai phần của bài tập này

Một chuỗi số nguyên hợp pháp bao gồm toàn bộ các chữ số. May mắn thay, các chuỗi có một phương thức

    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
41, phương thức này đúng khi một chuỗi không rỗng bao gồm toàn các chữ số, vì vậy,
    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
42 trả về
'a' > 5
1 và
    temperature = float(input('What is the temperature? '))
    if temperature > 70:
        print('Wear shorts.')
    else:
        print('Wear long pants.')
    print('Get some exercise outside.')
44 trả về
'a' > 5
2, chính xác tương ứng với các tình huống khi chuỗi đại diện cho một số nguyên

Trong cả hai phần hãy chắc chắn để kiểm tra cẩn thận. Không chỉ xác nhận rằng tất cả các chuỗi phù hợp trả về

'a' > 5
1. Ngoài ra, hãy đảm bảo kiểm tra xem bạn có trả về
'a' > 5
2 cho tất cả các loại chuỗi không hợp lệ hay không

  1. Nhận biết một chuỗi số nguyên liên quan nhiều hơn, vì nó có thể bắt đầu bằng dấu trừ (hoặc không). Do đó, phương pháp

        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    41 tự nó là không đủ. Phần này là dễ hiểu nhất nếu bạn đã làm việc trên các phần và. Một cách tiếp cận khác hoạt động nếu bạn sử dụng phương pháp đếm từ và một số phương pháp từ phần này

    Hoàn thành hàm

        temperature = float(input('What is the temperature? '))
        if temperature > 70:
            print('Wear shorts.')
        else:
            print('Wear long pants.')
        print('Get some exercise outside.')
    
    50, hàm này giới thiệu khả năng có dấu thập phân (mặc dù không bắt buộc phải có dấu thập phân). Các phương thức chuỗi được đề cập trong phần trước vẫn hữu ích

    Là. = Giống như không có trong Python?

    Bằng Python . = được định nghĩa là không bằng toán tử . Nó trả về True nếu toán hạng ở hai bên không bằng nhau và trả về False nếu chúng bằng nhau. Trong khi đó, toán tử không kiểm tra xem id() của hai đối tượng có giống nhau hay không.

    Làm thế nào để sử dụng nếu sai trong Python?

    Nếu đúng, nó sẽ thực thi mã. Nếu sai, nó sẽ không thực thi mã . Hãy nhớ rằng Đúng và Sai là Booleans trong Python. Điều này có nghĩa là nếu và các câu lệnh có điều kiện khác sẽ sử dụng toán Boolean để tính trạng thái Boolean của chúng.