Hướng dẫn how do you create a choice in python? - làm thế nào để bạn tạo một lựa chọn trong python?

Tổng quan

Giảng dạy: 30 phút Bài tập: 0 phút 30 min
Exercises: 0 min

Show

Câu hỏi

  • Làm thế nào các chương trình của tôi có thể làm những việc khác nhau dựa trên các giá trị dữ liệu?

Mục tiêu

  • Viết các câu lệnh có điều kiện bao gồm các nhánh

    before conditional...
    ...after conditional
    
    6,
    before conditional...
    ...after conditional
    
    7 và
    before conditional...
    ...after conditional
    
    8.

  • Đánh giá chính xác các biểu thức chứa

    before conditional...
    ...after conditional
    
    9 và
    num = -3
    
    if num > 0:
        print(num, 'is positive')
    elif num == 0:
        print(num, 'is zero')
    else:
        print(num, 'is negative')
    
    0.

Trong bài học cuối cùng của chúng tôi, chúng tôi đã phát hiện ra điều gì đó đáng ngờ đang diễn ra trong dữ liệu viêm của chúng tôi bằng cách vẽ một số lô. Làm thế nào chúng ta có thể sử dụng Python để tự động nhận ra các tính năng khác nhau mà chúng ta đã thấy và thực hiện một hành động khác nhau cho mỗi tính năng? Trong bài học này, chúng tôi sẽ học cách viết mã chỉ chạy khi một số điều kiện nhất định là đúng.

Điều kiện

Chúng ta có thể yêu cầu Python thực hiện các hành động khác nhau, tùy thuộc vào điều kiện, với tuyên bố

before conditional...
...after conditional
6:

num = 37
if num > 100:
    print('greater')
else:
    print('not greater')
print('done')

Dòng thứ hai của mã này sử dụng từ khóa

before conditional...
...after conditional
6 để nói với Python rằng chúng tôi muốn đưa ra lựa chọn. Nếu bài kiểm tra theo câu lệnh
before conditional...
...after conditional
6 là đúng, phần thân của
before conditional...
...after conditional
6 (tức là, tập hợp các dòng được thụt vào bên dưới nó) được thực thi và in lớn hơn. Nếu bài kiểm tra là sai, cơ thể của
before conditional...
...after conditional
8 được thực thi thay thế và không được in. Chỉ có một hoặc cái kia được thực hiện trước khi tiếp tục thực hiện chương trình để in ra DOY DOWN.

Hướng dẫn how do you create a choice in python? - làm thế nào để bạn tạo một lựa chọn trong python?

Các tuyên bố có điều kiện don don phải bao gồm một

before conditional...
...after conditional
8. Nếu có một người, Python chỉ đơn giản là không làm gì nếu bài kiểm tra là sai:

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')

before conditional...
...after conditional

Chúng tôi cũng có thể chuỗi một số thử nghiệm cùng nhau bằng cách sử dụng

before conditional...
...after conditional
7, viết tắt của những người khác. Mã Python sau đây sử dụng
before conditional...
...after conditional
7 để in dấu của một số.

num = -3

if num > 0:
    print(num, 'is positive')
elif num == 0:
    print(num, 'is zero')
else:
    print(num, 'is negative')

Lưu ý rằng để kiểm tra sự bình đẳng, chúng tôi sử dụng dấu hiệu kép bằng

num = -3

if num > 0:
    print(num, 'is positive')
elif num == 0:
    print(num, 'is zero')
else:
    print(num, 'is negative')
9 thay vì một dấu hiệu bằng
if (1 > 0) and (-1 >= 0):
    print('both parts are true')
else:
    print('at least one part is false')
0 được sử dụng để gán các giá trị.

So sánh trong Python

Cùng với các toán tử

if (1 > 0) and (-1 >= 0):
    print('both parts are true')
else:
    print('at least one part is false')
1 và
num = -3

if num > 0:
    print(num, 'is positive')
elif num == 0:
    print(num, 'is zero')
else:
    print(num, 'is negative')
9 mà chúng tôi đã sử dụng để so sánh các giá trị trong các điều kiện của chúng tôi, có thêm một vài tùy chọn để biết:

  • if (1 > 0) and (-1 >= 0):
        print('both parts are true')
    else:
        print('at least one part is false')
    
    1: lớn hơn
  • if (1 > 0) and (-1 >= 0):
        print('both parts are true')
    else:
        print('at least one part is false')
    
    4: Ít hơn
  • num = -3
    
    if num > 0:
        print(num, 'is positive')
    elif num == 0:
        print(num, 'is zero')
    else:
        print(num, 'is negative')
    
    9: bằng với
  • if (1 > 0) and (-1 >= 0):
        print('both parts are true')
    else:
        print('at least one part is false')
    
    6: Không bằng
  • if (1 > 0) and (-1 >= 0):
        print('both parts are true')
    else:
        print('at least one part is false')
    
    7: lớn hơn hoặc bằng
  • if (1 > 0) and (-1 >= 0):
        print('both parts are true')
    else:
        print('at least one part is false')
    
    8: nhỏ hơn hoặc bằng

Chúng tôi cũng có thể kết hợp các thử nghiệm bằng cách sử dụng

before conditional...
...after conditional
9 và
num = -3

if num > 0:
    print(num, 'is positive')
elif num == 0:
    print(num, 'is zero')
else:
    print(num, 'is negative')
0.
before conditional...
...after conditional
9 chỉ đúng nếu cả hai phần là đúng:

if (1 > 0) and (-1 >= 0):
    print('both parts are true')
else:
    print('at least one part is false')

at least one part is false

Trong khi

num = -3

if num > 0:
    print(num, 'is positive')
elif num == 0:
    print(num, 'is zero')
else:
    print(num, 'is negative')
0 là đúng nếu ít nhất một phần là đúng:

if (1 < 0) or (1 >= 0):
    print('at least one test is true')

at least one test is true

at least one part is false 3 và at least one part is false 4

at least one part is false
3 và
at least one part is false
4 là những từ đặc biệt trong Python được gọi là
at least one part is false
7, đại diện cho các giá trị sự thật. Một câu lệnh như
at least one part is false
8 trả về giá trị
at least one part is false
4, trong khi
if (1 < 0) or (1 >= 0):
    print('at least one test is true')
0 trả về giá trị
at least one part is false
3.

Kiểm tra dữ liệu của chúng tôi

Bây giờ chúng tôi đã thấy cách thức hoạt động của các điều kiện, chúng tôi có thể sử dụng chúng để kiểm tra các tính năng đáng ngờ mà chúng tôi đã thấy trong dữ liệu viêm của chúng tôi. Chúng tôi sắp sử dụng các chức năng được cung cấp bởi mô -đun

if (1 < 0) or (1 >= 0):
    print('at least one test is true')
2 một lần nữa. Do đó, nếu bạn làm việc trong một phiên Python mới, hãy đảm bảo tải mô -đun với:

Từ vài lô đầu tiên, chúng tôi đã thấy rằng viêm tối đa hàng ngày thể hiện một hành vi kỳ lạ và tăng một đơn vị mỗi ngày. Sẽ là một ý tưởng tốt để phát hiện hành vi như vậy và báo cáo nó là đáng ngờ? Hãy để làm điều đó! Tuy nhiên, thay vì kiểm tra mỗi ngày của nghiên cứu, hãy để chỉ kiểm tra xem viêm tối đa ở đầu (ngày 0) và ở giữa (ngày 20) của nghiên cứu có bằng với số ngày tương ứng.

max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')

Chúng tôi cũng đã thấy một vấn đề khác trong bộ dữ liệu thứ ba; Timea mỗi ngày đều bằng không (trông giống như một người khỏe mạnh lẻn vào nghiên cứu của chúng tôi). Chúng tôi cũng có thể kiểm tra điều này với điều kiện

before conditional...
...after conditional
7:

elif numpy.sum(numpy.min(data, axis=0)) == 0:
    print('Minima add up to zero!')

Và nếu cả hai điều kiện này đều không đúng, chúng ta có thể sử dụng

before conditional...
...after conditional
8 để cung cấp cho tất cả rõ ràng:

Hãy để thử nghiệm điều đó:

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
0

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
1

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
2

Theo cách này, chúng tôi đã yêu cầu Python làm điều gì đó khác biệt tùy thuộc vào điều kiện dữ liệu của chúng tôi. Ở đây chúng tôi đã in tin nhắn trong mọi trường hợp, nhưng chúng tôi cũng có thể tưởng tượng không sử dụng

before conditional...
...after conditional
8 bắt tất cả để các tin nhắn chỉ được in khi có gì đó không ổn, giải phóng chúng tôi khỏi phải kiểm tra thủ công mọi âm mưu cho các tính năng mà chúng tôi đã thấy trước đây.

Có bao nhiêu con đường?

Xem xét mã này:

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
3

Điều nào sau đây sẽ được in nếu bạn chạy mã này? Tại sao bạn chọn câu trả lời này?

  1. Một
  2. B
  3. C
  4. B và c

Dung dịch

C được in vì hai điều kiện đầu tiên,

if (1 < 0) or (1 >= 0):
    print('at least one test is true')
6 và
if (1 < 0) or (1 >= 0):
    print('at least one test is true')
7, không đúng, nhưng
if (1 < 0) or (1 >= 0):
    print('at least one test is true')
8 là đúng.

Sự thật là gì?

at least one part is false
3 và
at least one part is false
4 Booleans không phải là giá trị duy nhất trong Python là đúng và sai. Trên thực tế, bất kỳ giá trị nào cũng có thể được sử dụng trong một
before conditional...
...after conditional
6 hoặc
before conditional...
...after conditional
7. Sau khi đọc và chạy mã bên dưới, hãy giải thích quy tắc mà các giá trị được coi là đúng và được coi là sai.

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
4

Đó không phải là ý tôi không phải là ý tôi

Đôi khi nó rất hữu ích để kiểm tra xem một số điều kiện có đúng không. Nhà điều hành Boolean

at least one test is true
3 có thể làm điều này một cách rõ ràng. Sau khi đọc và chạy mã bên dưới, hãy viết một số câu
before conditional...
...after conditional
6 sử dụng
at least one test is true
3 để kiểm tra quy tắc mà bạn đã xây dựng trong thử thách trước đó.

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
5

Đủ gần

Viết một số điều kiện in

at least one part is false
3 nếu biến
at least one test is true
7 nằm trong phạm vi 10% của biến
at least one test is true
8 và
at least one part is false
4 nếu không. So sánh việc triển khai của bạn với đối tác của bạn: Bạn có nhận được câu trả lời tương tự cho tất cả các cặp số có thể không?

Dấu

Có một hàm tích hợp

max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')
0 trả về giá trị tuyệt đối của một số:

Giải pháp 1

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
6

Giải pháp 2

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
7

Điều này hoạt động vì Booleans

at least one part is false
3 và
at least one part is false
4 có các biểu diễn chuỗi có thể được in.

Các nhà khai thác tại chỗ

Python (và hầu hết các ngôn ngữ khác trong họ C) cung cấp các nhà khai thác tại chỗ hoạt động như thế này:

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
8

Viết một số mã tổng hợp các số dương và âm trong danh sách riêng biệt, sử dụng các toán tử tại chỗ. Bạn có nghĩ rằng kết quả ít nhiều dễ đọc hơn là viết giống nhau mà không có nhà khai thác tại chỗ?

Dung dịch

num = 53
print('before conditional...')
if num > 100:
    print(num, 'is greater than 100')
print('...after conditional')
9

Ở đây

max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')
3 có nghĩa là người Viking làm bất cứ điều gì. Trong trường hợp cụ thể này, nó không thực sự cần thiết, vì nếu
max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')
4 không cần phải thay đổi, nhưng nó minh họa việc sử dụng
before conditional...
...after conditional
7 và
max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')
3.

Sắp xếp một danh sách vào xô

Trong thư mục

max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')
7 của chúng tôi, các bộ dữ liệu lớn được lưu trữ trong các tệp có tên bắt đầu bằng các bộ viêm và bộ dữ liệu nhỏ và trong các tệp có tên bắt đầu bằng cách nhỏ. Chúng tôi cũng có một số tệp khác mà chúng tôi không quan tâm vào thời điểm này. Chúng tôi muốn chia tất cả các tệp này thành ba danh sách được gọi là
max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')
8,
max_inflammation_0 = numpy.max(data, axis=0)[0]
max_inflammation_20 = numpy.max(data, axis=0)[20]

if max_inflammation_0 == 0 and max_inflammation_20 == 20:
    print('Suspicious looking maxima!')
9 và
elif numpy.sum(numpy.min(data, axis=0)) == 0:
    print('Minima add up to zero!')
0, tương ứng.

Thêm mã vào mẫu bên dưới để làm điều này. Lưu ý rằng phương thức chuỗi

elif numpy.sum(numpy.min(data, axis=0)) == 0:
    print('Minima add up to zero!')
1 trả về
at least one part is false
3 khi và chỉ khi chuỗi được gọi BẬT bắt đầu với chuỗi được truyền dưới dạng đối số, đó là:

before conditional...
...after conditional
0

Nhưng mà

before conditional...
...after conditional
1

Sử dụng mã Python sau làm điểm bắt đầu của bạn:

before conditional...
...after conditional
2

Giải pháp của bạn nên:

  1. lặp qua tên của các tệp
  2. tìm ra nhóm mà mỗi tên tệp thuộc về
  3. nối các tên tệp vào danh sách đó

Cuối cùng, ba danh sách nên là:

before conditional...
...after conditional
3

Dung dịch

before conditional...
...after conditional
4

Ở đây max_inflammation_0 = numpy.max(data, axis=0)[0] max_inflammation_20 = numpy.max(data, axis=0)[20] if max_inflammation_0 == 0 and max_inflammation_20 == 20: print('Suspicious looking maxima!') 3 có nghĩa là người Viking làm bất cứ điều gì. Trong trường hợp cụ thể này, nó không thực sự cần thiết, vì nếu max_inflammation_0 = numpy.max(data, axis=0)[0] max_inflammation_20 = numpy.max(data, axis=0)[20] if max_inflammation_0 == 0 and max_inflammation_20 == 20: print('Suspicious looking maxima!') 4 không cần phải thay đổi, nhưng nó minh họa việc sử dụng before conditional... ...after conditional 7 và max_inflammation_0 = numpy.max(data, axis=0)[0] max_inflammation_20 = numpy.max(data, axis=0)[20] if max_inflammation_0 == 0 and max_inflammation_20 == 20: print('Suspicious looking maxima!') 3.

  1. Sắp xếp một danh sách vào xô
  2. Trong thư mục
    max_inflammation_0 = numpy.max(data, axis=0)[0]
    max_inflammation_20 = numpy.max(data, axis=0)[20]
    
    if max_inflammation_0 == 0 and max_inflammation_20 == 20:
        print('Suspicious looking maxima!')
    
    7 của chúng tôi, các bộ dữ liệu lớn được lưu trữ trong các tệp có tên bắt đầu bằng các bộ viêm và bộ dữ liệu nhỏ và trong các tệp có tên bắt đầu bằng cách nhỏ. Chúng tôi cũng có một số tệp khác mà chúng tôi không quan tâm vào thời điểm này. Chúng tôi muốn chia tất cả các tệp này thành ba danh sách được gọi là
    max_inflammation_0 = numpy.max(data, axis=0)[0]
    max_inflammation_20 = numpy.max(data, axis=0)[20]
    
    if max_inflammation_0 == 0 and max_inflammation_20 == 20:
        print('Suspicious looking maxima!')
    
    8,
    max_inflammation_0 = numpy.max(data, axis=0)[0]
    max_inflammation_20 = numpy.max(data, axis=0)[20]
    
    if max_inflammation_0 == 0 and max_inflammation_20 == 20:
        print('Suspicious looking maxima!')
    
    9 và
    elif numpy.sum(numpy.min(data, axis=0)) == 0:
        print('Minima add up to zero!')
    
    0, tương ứng.
  3. Thêm mã vào mẫu bên dưới để làm điều này. Lưu ý rằng phương thức chuỗi
    elif numpy.sum(numpy.min(data, axis=0)) == 0:
        print('Minima add up to zero!')
    
    1 trả về
    at least one part is false
    
    3 khi và chỉ khi chuỗi được gọi BẬT bắt đầu với chuỗi được truyền dưới dạng đối số, đó là:

Dung dịch

before conditional...
...after conditional
5

Ở đây max_inflammation_0 = numpy.max(data, axis=0)[0] max_inflammation_20 = numpy.max(data, axis=0)[20] if max_inflammation_0 == 0 and max_inflammation_20 == 20: print('Suspicious looking maxima!') 3 có nghĩa là người Viking làm bất cứ điều gì. Trong trường hợp cụ thể này, nó không thực sự cần thiết, vì nếu max_inflammation_0 = numpy.max(data, axis=0)[0] max_inflammation_20 = numpy.max(data, axis=0)[20] if max_inflammation_0 == 0 and max_inflammation_20 == 20: print('Suspicious looking maxima!') 4 không cần phải thay đổi, nhưng nó minh họa việc sử dụng before conditional... ...after conditional 7 và max_inflammation_0 = numpy.max(data, axis=0)[0] max_inflammation_20 = numpy.max(data, axis=0)[20] if max_inflammation_0 == 0 and max_inflammation_20 == 20: print('Suspicious looking maxima!') 3.

  • Sắp xếp một danh sách vào xô

  • Trong thư mục

    max_inflammation_0 = numpy.max(data, axis=0)[0]
    max_inflammation_20 = numpy.max(data, axis=0)[20]
    
    if max_inflammation_0 == 0 and max_inflammation_20 == 20:
        print('Suspicious looking maxima!')
    
    7 của chúng tôi, các bộ dữ liệu lớn được lưu trữ trong các tệp có tên bắt đầu bằng các bộ viêm và bộ dữ liệu nhỏ và trong các tệp có tên bắt đầu bằng cách nhỏ. Chúng tôi cũng có một số tệp khác mà chúng tôi không quan tâm vào thời điểm này. Chúng tôi muốn chia tất cả các tệp này thành ba danh sách được gọi là
    max_inflammation_0 = numpy.max(data, axis=0)[0]
    max_inflammation_20 = numpy.max(data, axis=0)[20]
    
    if max_inflammation_0 == 0 and max_inflammation_20 == 20:
        print('Suspicious looking maxima!')
    
    8,
    max_inflammation_0 = numpy.max(data, axis=0)[0]
    max_inflammation_20 = numpy.max(data, axis=0)[20]
    
    if max_inflammation_0 == 0 and max_inflammation_20 == 20:
        print('Suspicious looking maxima!')
    
    9 và
    elif numpy.sum(numpy.min(data, axis=0)) == 0:
        print('Minima add up to zero!')
    
    0, tương ứng.

  • Thêm mã vào mẫu bên dưới để làm điều này. Lưu ý rằng phương thức chuỗi

    elif numpy.sum(numpy.min(data, axis=0)) == 0:
        print('Minima add up to zero!')
    
    1 trả về
    at least one part is false
    
    3 khi và chỉ khi chuỗi được gọi BẬT bắt đầu với chuỗi được truyền dưới dạng đối số, đó là:

  • Nhưng mà

  • Sử dụng mã Python sau làm điểm bắt đầu của bạn:

  • Giải pháp của bạn nên:

  • lặp qua tên của các tệp

Làm thế nào để bạn đưa ra lựa chọn trong Python?

Phương thức lựa chọn () trả về một phần tử được chọn ngẫu nhiên từ chuỗi được chỉ định. Trình tự có thể là một chuỗi, một phạm vi, một danh sách, một tuple hoặc bất kỳ loại trình tự nào khác.. The sequence can be a string, a range, a list, a tuple or any other kind of sequence.

Làm thế nào để bạn thực hiện một mã lựa chọn?

chuyển đổi câu lệnh..
Công tắc từ khóa, theo sau là một tập hợp dấu ngoặc đơn ..
Một biểu thức hoặc giá trị bên trong dấu ngoặc đơn ..
Trường hợp từ khóa, theo sau là một lựa chọn rằng biểu thức/giá trị có thể là, theo sau là một dấu hai chấm ..
Một số mã để chạy nếu lựa chọn khớp với biểu thức ..
Một tuyên bố phá vỡ, tiếp theo là một dấu chấm phẩy ..

Làm thế nào để bạn thêm các tùy chọn trong Python?

Đầu tiên, bạn cần nhập lớp CupplePparser;Sau đó, ngay từ đầu chương trình chính, tạo một phiên bản tùy chọnParser:..
Từ OptParse Nhập tùy chọnParser ... Parser = OptionParser () ....
trình phân tích cú pháp.add_option (opt_str, ..., attr = value, ...) ....
trình phân tích cú pháp.add_option ("-f", "--file", ...) ....
(Tùy chọn, Args) = trình phân tích cú pháp.parse_args ().

Làm thế nào để bạn tạo ra nhiều lựa chọn đầu vào trong Python?

Để xác định câu hỏi trắc nghiệm với đầu vào của người dùng: sử dụng hàm input () để lấy đầu vào từ người dùng.Kiểm tra xem đầu vào là một trong những lựa chọn được chỉ định.Sử dụng các câu lệnh có điều kiện để kiểm tra xem đầu vào có phải là một trong những lựa chọn có sẵn hay không.Use the input() function to take input from the user. Check if the input is one of the specified choices. Use conditional statements to check if the input is one of the available choices.