Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Lệnh break trong Python là giống như lệnh break trong C. Lệnh này kết thúc vòng lặp hiện tại và truyền điều khiển tới cuối vòng lặp. Lệnh break này có thể được sử dụng trong vòng lặp while và vòng lặp for. Nếu bạn đang sử dụng lồng vòng lặp, thì lệnh break kết thúc sự thực thi của vòng lặp bên trong và bắt đầu
thực thi dòng code tiếp theo của khối. Cú pháp của lệnh break là khá đơn giản:
break
Dưới đây là ví dụ minh họa lệnh break trong Python:
for letter in 'Python': # Vi du thu nhat
if letter == 'h':
break
print 'Chu cai hien tai :', letter
var = 10 # Vi du thu hai
while var > 0:
print 'Gia tri bien hien tai la :', var
var = var -1
if var == 5:
break
print "Good bye!"
Khi code trên được thực thi sẽ cho kết quả:
Chu cai hien tai : P
Chu cai hien tai : y
Chu cai hien tai : t
Gia tri bien hien tai la : 10
Gia tri bien hien tai la : 9
Gia tri bien hien tai la : 8
Gia tri bien hien tai la : 7
Gia tri bien hien tai la : 6
Good bye!
Lệnh continue trong Python
Lệnh continue trả về điều khiển tới phần ban đầu của vòng lặp. Lệnh này bỏ qua lần lặp hiện tại và bắt buộc lần lặp tiếp theo của vòng lặp diễn ra. Lệnh continue có thể được sử dụng trong vòng lặp while hoặc vòng lặp for. Dưới đây là cú pháp của lệnh continue:
continue
Dưới đây là ví dụ minh họa lệnh continue trong Python:
for letter in 'Python': # Vi du thu nhat
if letter == 'h':
continue
print 'Chu cai hien tai :', letter
var = 10 # Vi du thu hai
while var > 0:
var = var -1
if var == 5:
continue
print 'Gia tri bien hien tai la :', var
print "Good bye!"
Khi code trên được thực thi sẽ cho kết quả:
Chu cai hien tai : P
Chu cai hien tai : y
Chu cai hien tai : t
Chu cai hien tai : o
Chu cai hien tai : n
Gia tri bien hien tai la : 9
Gia tri bien hien tai la : 8
Gia tri bien hien tai la : 7
Gia tri bien hien tai la : 6
Gia tri bien hien tai la : 4
Gia tri bien hien tai la : 3
Gia tri bien hien tai la : 2
Gia tri bien hien tai la : 1
Gia tri bien hien tai la : 0
Good bye!
Lệnh pass trong Python
Lệnh pass, giống như tên của nó, được sử dụng khi một lệnh là cần thiết theo cú pháp nhưng bạn không muốn bất cứ lệnh hoặc khối code nào được thực thi. Lệnh pass là một hoạt động null và không có gì xảy ra khi nó thực thi. Dưới đây là cú pháp của lệnh pass:
pass
Dưới đây là ví dụ minh họa lệnh pass trong Python:
for letter in 'Python':
if letter == 'h':
pass
print 'Day la khoi pass'
print 'Chu cai hien tai :', letter
print "Good bye!"
Khi code trên được thực thi sẽ cho kết quả:
Chu cai hien tai : P
Chu cai hien tai : y
Chu cai hien tai : t
Day la khoi pass
Chu cai hien tai : h
Chu cai hien tai : o
Chu cai hien tai : n
Good bye!
Chúc các bạn thành công!
Bài viết gốc được đăng tải tại ucode.vn
Có thể bạn quan tâm:
- Các kĩ sư Grab thiết kế hệ thống “đàn hồi” sử dụng kĩ thuật Circuit Breaker như thế nào?
- Python:Tạo một máy chủ HTTP đơn giản
- Biết Python – quen ngay Julia
Xem thêm Việc làm lập trình python hấp dẫn trên TopDev
Lấy Qlàm đầu vào
Quit = int[input['Press Q to Quit']
Bạn đang yêu cầu Q
làm đầu vào, nhưng chỉ chấp nhận một int
. Vì vậy, hãy loại bỏ int
một phần:
Quit = input['Press Q to Quit']
Bây giờ Quit
sẽ là bất cứ điều gì người dùng nhập vào, vì vậy hãy kiểm tra "Q" thay vì True
:
if Quit == "Q":
Thay vào đó sys.exit[0]
, bạn có thể chỉ cần kết thúc trong khi xem bằng break
hoặc chỉ return
khi bạn đang ở trong một chức năng.
Ngoài ra, tôi không khuyên bạn nên đặt tên "Quit" cho một biến chỉ lưu thông tin đầu vào của người dùng, vì nó sẽ gây nhầm lẫn.
Và hãy nhớ rằng thụt lề rất quan trọng trong Python, vì vậy nó cần phải:
if run == False:
choice = input['Press Q to Quit']
if choice == "Q":
# break or return or..
import sys
sys.exit[0]
Đó có thể chỉ là lỗi sao chép / dán.
Thụt lề và cú pháp
Tôi đã sửa lỗi thụt lề và xóa một số mã không liên quan [vì bạn sao chép vòng lặp bên ngoài và một số câu lệnh in] và nhận được điều này:
print['How old do you thing Fred the Chicken is?']
number = 17
run = True
while run:
guess = int[input['Enter What You Think His Age Is....t']]
if guess == number:
print['Yes :D That is his age...']
run = False
elif guess < number:
print['No, Guess a little higher...']
elif guess > number:
print['No, Guess a little lower....']
if run == False:
print['Game Over']
choice = input['Press Q to Quit']
if choice == 'q'
break
Điều này đã tạo cho tôi một lỗi cú pháp:
blong @ ubuntu: ~ $ python3 gà.py
Tệp "gà.py", dòng 23
nếu lựa chọn == 'q'
^
SyntaxError: cú pháp không hợp lệ
Vì vậy, Python đang nói rằng có điều gì đó sai sau if
câu lệnh. Nếu bạn nhìn vào các if
câu lệnh khác , bạn sẽ nhận thấy rằng câu lệnh này bị thiếu :
ở cuối, vì vậy hãy thay đổi nó thành:
if choice == 'q':
Vì vậy, với sự thay đổi đó, chương trình sẽ chạy và dường như làm những gì bạn muốn.
Một số gợi ý
Hướng dẫn của bạn nói "Nhấn Q để thoát", nhưng thực tế bạn chỉ chấp nhận "q" để thoát. Bạn có thể muốn chấp nhận cả hai. Python có một toán tử được gọi
or
, nhận hai giá trị chân lý [True
hoặcFalse
] và trả vềTrue
nếu một trong hai giá trị đó làTrue
[nó thực sự làm được nhiều hơn điều này với các giá trị bên cạnhTrue
vàFalse
, hãy xem tài liệu nếu bạn quan tâm].Ví dụ:
>> True or True True >>> True or False True >>> False or True True >>> False or False False
Vì vậy, chúng ta có thể yêu cầu Q hoặc q với
if choice == "Q" or choice == "q":
.Một tùy chọn khác là chuyển đổi chuỗi thành chữ thường và chỉ kiểm tra
q
, sử dụngif choice.lower[] == "q":
. Nếuchoice
là Q, trước tiên nó sẽ chuyển nó thành q [với.lower[]
], sau đó thực hiện phép so sánh.Số của bạn luôn là 17. Python có một hàm được gọi là random.randint [] sẽ cung cấp cho bạn một số ngẫu nhiên, điều này có thể làm cho trò chơi trở nên thú vị hơn. Ví dụ, điều này sẽ làm cho độ tuổi của gà từ 5 đến 20 [bao gồm cả]:
number = random.randint[5, 20]
13 hữu ích 2 bình luận chia sẻ
Để thoát khỏi dòng lệnh Python, tôi phải gõ exit []. Nếu tôi gõ thoát, nó nói
Use exit[] or Ctrl-Z plus Return to exit
Thông thường khi bạn gõ exit
, bạn sẽ muốn thoát khỏi chương trình. Tại sao trình thông dịch đưa ra lỗi trên cho tôi khi biết tôi đang cố thoát khỏi dòng lệnh? Tại sao nó không thoát? Tôi biết nó không thành vấn đề và đó là một câu hỏi ngớ ngẩn nhưng tôi tò mò.
- python
112 hữu ích 3 bình luận 205k xem chia sẻ
answer
12
Trong trình thông dịch python của tôi exit
thực sự là một chuỗi và không phải là một hàm -
'Use Ctrl-D [i.e. EOF] to exit.'
. Bạn có thể kiểm tra thông dịch viên của bạn bằng cách nhậptype[exit]
Trong python hoạt động những gì đang xảy ra là lối ra là một chức năng. Nếu bạn không gọi hàm, nó sẽ in ra chuỗi đại diện của đối tượng. Đây là hành vi mặc định cho bất kỳ đối tượng trả lại. Chỉ là các nhà thiết kế nghĩ rằng mọi người có thể cố gắng gõ thoát để thoát trình
thông dịch, vì vậy họ đã biến biểu diễn chuỗi của hàm thoát thành một thông điệp hữu ích. Bạn có thể kiểm tra hành vi này bằng cách gõ str[exit]
hoặc thậm chí print exit
.
12 hữu ích 3 bình luận chia sẻ
answer
43
Điều này làm việc cho tôi, cách tốt nhất để đi ra khỏi dấu nhắc python.
lối thoát hiểm[]
43 hữu ích 0 bình luận chia sẻ
answer
36
Khi bạn gõ exit
vào dòng lệnh, nó sẽ tìm thấy biến có tên đó và gọi __repr__
[hoặc __str__
] trên đó. Thông
thường, bạn sẽ nhận được một kết quả như:
Nhưng họ đã quyết định xác định lại chức năng đó cho exit
đối tượng để hiển thị một thông điệp hữu ích thay thế. Có hay không đó là một hành vi ngu ngốc hay không, là một câu hỏi chủ quan, nhưng một lý do có thể khiến nó không "thoát ra" là:
Ví dụ, giả sử bạn đang xem một số mã trong trình gỡ lỗi và một trong các đối tượng tham chiếu
exit
hàm. Khi trình gỡ lỗi cố gắng gọi __repr__
đối tượng đó để hiển thị chức năng đó cho bạn, chương trình đột nhiên dừng lại! Điều đó thực sự bất ngờ và các biện pháp để chống lại điều đó có thể làm phức tạp thêm mọi thứ [ví dụ, ngay cả khi bạn giới hạn hành vi đó vào dòng lệnh, nếu bạn cố in một số đối tượng có exit
thuộc tính thì sao?]
36 hữu ích 1 bình luận chia sẻ
answer
18
Tôi khuyên bạn nên thoát trình thông dịch Python bằng Ctrl-D. Đây là mã ASCII cũ để kết thúc tập tin hoặc kết thúc truyền.
18 hữu ích 2 bình luận chia sẻ
answer
17
Thông báo này là __str__
thuộc tính củaexit
hãy xem những ví dụ này :
1
>>> print exit
Use exit[] or Ctrl-D [i.e. EOF] to exit
2
>>> exit.__str__[]
'Use exit[] or Ctrl-D [i.e. EOF] to exit'
3
>>> getattr[exit, '__str__'][]
'Use exit[] or Ctrl-D [i.e. EOF] to exit'
17 hữu ích 0 bình luận chia sẻ
answer
7
Bởi vì trình thông dịch không phải là một trình bao nơi bạn cung cấp các lệnh, nó - tốt - một trình thông dịch. Những thứ bạn cung cấp cho nó là mã Python.
Cú pháp của Python là như vậy exit
, tự nó, không thể là bất cứ thứ gì ngoài tên cho một đối tượng. Đơn giản chỉ cần đề cập đến một đối tượng thực sự không thể làm bất cứ điều gì [ngoại trừ những gì vòng lặp đọc-in thường làm; nghĩa là hiển thị một chuỗi đại diện của đối tượng].
7 hữu ích 0 bình luận chia sẻ
answer
5
Với Anaconda 4.5+ và Python 3.6+ trên Windows sử dụng
Ctrl+Z
hoặc là
exit[]
Trong một số trường hợp, bạn có thể phải sử dụng
Ctrl+Break
Nếu máy tính
của bạn không có Break
chìa khóa thì xem tại đây .
5 hữu ích 0 bình luận chia sẻ
answer
3
Bạn có thể khắc phục điều đó.
Liên kết PYTHONSTARTUP
đến một tập tin python với sau đây
# Make exit work as expected
type[exit].__repr__ = type[exit].__call__
Cái này hoạt động ra sao?
Dòng lệnh python là một vòng lặp đọc-đánh giá-in, đó là khi bạn gõ văn bản, nó sẽ đọc văn bản đó, đánh giá nó và cuối cùng là in kết quả.
Khi bạn gõ exit[]
nó sẽ đánh giá một đối tượng có thể gọi được của kiểu
site.Quitter
và gọi __call__
hàm của nó sẽ thoát khỏi hệ thống. Khi bạn gõ exit
nó sẽ ước lượng cho cùng một đối tượng có thể gọi được, mà không gọi nó, đối tượng được in sẽ lần lượt gọi __repr__
các đối tượng.
Chúng ta có thể tận dụng lợi thế này bằng cách liên kết __repr__
đến
__call__
và do đó có được hành vi dự kiến thoát khỏi sustem ngay cả khi chúng ta gõ exit
mà không có dấu ngoặc đơn.
3 hữu ích 1 bình luận chia sẻ
answer
0
Nếu bạn bị kẹt trong dòng lệnh python và không có giải pháp nào ở trên phù hợp với bạn, hãy thử exit[2]
0 hữu ích 0 bình luận chia sẻ
answer
0
Để thoát khỏi thiết bị đầu cuối Python , chỉ cần làm:
exit[]
Vui lòng chú ý đó là một chức năng được gọi là hầu hết người dùng trộn nó với thoát mà không gọi, nhưng thiết bị đầu cuối Pyhton mới hiển thị một thông báo ...
hoặc như một phím tắt, nhấn:
Ctrl + D
trên bàn phím của bạn ...
0 hữu ích 1 bình luận chia sẻ