Hướng dẫn ask user to repeat the program or exit in python - yêu cầu người dùng lặp lại chương trình hoặc thoát bằng python
Đây là một cải tiến gia tăng trên câu trả lời được chấp nhận: Show
Được sử dụng như là, bất kỳ đầu vào không hợp lệ nào từ người dùng (chẳng hạn như STR trống hoặc chữ cái "G" hoặc một số người như vậy) sẽ gây ra một ngoại lệ tại điểm mà hàm int () được gọi. Một giải pháp đơn giản cho một vấn đề như vậy là sử dụng thử/ ngoại trừ- cố gắng thực hiện một nhiệm vụ/ mã và nếu nó hoạt động rất tốt, nhưng nếu không (ngoại trừ ở đây giống như một điều khác :) làm điều này khác. Trong ba cách tiếp cận mà người ta có thể thử, tôi nghĩ cách đầu tiên dưới đây là cách dễ nhất và sẽ không làm hỏng chương trình của bạn. Tùy chọn 1: Chỉ cần sử dụng giá trị chuỗi được nhập với một tùy chọn để đi lại
Tùy chọn 2: Nếu sử dụng int (), hãy bảo vệ chống lại đầu vào của người dùng xấu
Tùy chọn 3: Vòng lặp cho đến khi người dùng nhập một trong hai tùy chọn hợp lệ Trong khi các vòng lặp và đầu vàoMặc dù các vòng lặp thực sự hữu ích vì chúng để chương trình của bạn chạy cho đến khi người dùng quyết định thoát khỏi chương trình. Họ thiết lập một vòng lặp vô hạn chạy cho đến khi người dùng làm điều gì đó để kết thúc vòng lặp. Phần này cũng giới thiệu cách đầu tiên để nhận đầu vào từ người dùng chương trình của bạn. Vòng lặp thời gian là gì? ¶Một vòng lặp trong khi kiểm tra một điều kiện ban đầu. Nếu điều kiện đó là đúng, vòng lặp bắt đầu thực thi. Mỗi khi vòng lặp kết thúc, điều kiện được đánh giá lại. Miễn là điều kiện vẫn đúng, vòng lặp tiếp tục thực thi. Ngay khi điều kiện trở nên sai, vòng lặp dừng thực thi. Cú pháp chung# Set an initial condition. game_active = True # Set up the while loop. while game_active: # Run the game. # At some point, the game ends and game_active will be set to False. # When that happens, the loop will stop executing. # Do anything else you want done after the loop runs.
Thí dụ¶Dưới đây là một ví dụ đơn giản, cho thấy cách một trò chơi sẽ duy trì hoạt động miễn là người chơi có đủ sức mạnh. # The player's power starts out at 5. power = 5 # The player is allowed to keep playing as long as their power is over 0. while power > 0: print("You are still playing, because your power is %d." % power) # Your game code would go here, which includes challenges that make it # possible to lose power. # We can represent that by just taking away from the power. power = power - 1 print("\nOh no, your power dropped to 0! Game Over.") You are still playing, because your power is 5. You are still playing, because your power is 4. You are still playing, because your power is 3. You are still playing, because your power is 2. You are still playing, because your power is 1. Oh no, your power dropped to 0! Game Over. Bài tậpSức mạnh ngày càng tăng
Chấp nhận đầu vào của người dùngHầu như tất cả các chương trình thú vị chấp nhận đầu vào từ người dùng tại một số điểm. Bạn có thể bắt đầu chấp nhận đầu vào người dùng trong các chương trình của mình bằng cách sử dụng chức năng 8. Hàm đầu vào hiển thị một messaget cho người dùng mô tả loại đầu vào bạn đang tìm kiếm và sau đó nó chờ người dùng nhập giá trị. Khi người dùng nhấn ENTER, giá trị được chuyển cho biến của bạn.Cú pháp chungMỗi vòng lặp cần một điều kiện ban đầu bắt đầu đúng. # Get some input from the user. variable = input('Please enter a value: ') # Do something with the value that was entered. Tuyên bố 7 bao gồm một điều kiện để kiểm tra.Thí dụ¶Dưới đây là một ví dụ đơn giản, cho thấy cách một trò chơi sẽ duy trì hoạt động miễn là người chơi có đủ sức mạnh. # Start with a list containing several names. names = ['guido', 'tim', 'jesse'] # Ask the user for a name. new_name = input("Please tell me someone I should know: ") # Add the new name to our list. names.append(new_name) # Show that the name has been added to the list. print(names) Please tell me someone I should know: jessica ['guido', 'tim', 'jesse', 'jessica'] Bài tậpSức mạnh ngày càng tăng # The same program, in Python 2.7 # Start with a list containing several names. names = ['guido', 'tim', 'jesse'] # Ask the user for a name. new_name = raw_input("Please tell me someone I should know: ") # Add the new name to our list. names.append(new_name) # Show that the name has been added to the list. print(names) Please tell me someone I should know: jessica ['guido', 'tim', 'jesse', 'jessica'] Tạo một biến có tên là Sức mạnh và đặt giá trị ban đầu của nó thành 5. In một tin nhắn báo cáo sức mạnh của người chơi. Bài tậpSức mạnh ngày càng tăng
Bên ngoài vòng lặp trong khi, in một tin nhắn báo cáo rằng người chơi đã phát triển quá mạnh mẽ và họ đã chuyển lên một cấp độ mới của trò chơi.Phần thưởng: Chơi xung quanh với các mức cắt khác nhau cho giá trị của sức mạnh và chơi xung quanh với các cách khác nhau để tăng giá trị cường độ trong vòng lặp trong khi. 1 2Chấp nhận đầu vào của người dùng 3 4Hầu như tất cả các chương trình thú vị chấp nhận đầu vào từ người dùng tại một số điểm. Bạn có thể bắt đầu chấp nhận đầu vào người dùng trong các chương trình của mình bằng cách sử dụng chức năng 8. Hàm đầu vào hiển thị một messaget cho người dùng mô tả loại đầu vào bạn đang tìm kiếm và sau đó nó chờ người dùng nhập giá trị. Khi người dùng nhấn ENTER, giá trị được chuyển cho biến của bạn.Bài tậpSức mạnh ngày càng tăng
In một tin nhắn báo cáo sức mạnh của người chơi. 5 6Thiết lập một vòng lặp trong thời gian chạy cho đến khi sức mạnh của người chơi tăng lên một giá trị như 10. 7 6Bên trong vòng lặp trong khi, in một tin nhắn báo cáo sức mạnh hiện tại của người chơi. Sử dụng trong khi các vòng lặp để xử lý các mục trong danh sáchTrong phần trong danh sách, bạn đã thấy rằng chúng ta có thể # Set an initial condition. game_active = True # Set up the while loop. while game_active: # Run the game. # At some point, the game ends and game_active will be set to False. # When that happens, the loop will stop executing. # Do anything else you want done after the loop runs.7 các mục từ danh sách. Bạn có thể sử dụng danh sách một thời gian để bật các mục một lần từ một danh sách và làm việc với chúng theo bất cứ cách nào bạn cần. Hãy xem xét một ví dụ trong đó chúng tôi xử lý một danh sách người dùng chưa được xác nhận. 9 0Điều này hoạt động, nhưng hãy thực hiện một cải tiến nhỏ. Chương trình hiện tại luôn hoạt động với người dùng được thêm gần đây nhất. Nếu người dùng tham gia nhanh hơn chúng tôi có thể xác nhận chúng, chúng tôi sẽ bỏ lại một số người dùng. Nếu chúng tôi muốn làm việc trên một mô hình 'đến trước, được phục vụ trước' hoặc mô hình 'đầu tiên trong out out', chúng tôi có thể bật mục đầu tiên trong danh sách mỗi lần. 1 2Điều này đẹp hơn một chút, bởi vì chúng tôi chắc chắn sẽ đến với mọi người, ngay cả khi chương trình của chúng tôi đang chạy dưới một tải nặng. Chúng tôi cũng bảo tồn thứ tự của mọi người khi họ tham gia dự án của chúng tôi. Lưu ý rằng tất cả điều này xuất hiện bằng cách thêm một nhân vật vào chương trình của chúng tôi! Vòng lặp vô hạn vô tìnhĐôi khi chúng tôi muốn một vòng lặp trong thời gian để chạy cho đến khi một hành động xác định được hoàn thành, chẳng hạn như xóa danh sách. Đôi khi chúng tôi muốn một vòng lặp chạy trong một khoảng thời gian không xác định, ví dụ khi chúng tôi cho phép người dùng cung cấp nhiều đầu vào như họ muốn. Tuy nhiên, những gì chúng ta hiếm khi muốn là một vòng lặp vô hạn 'chạy trốn' thực sự. Hãy xem ví dụ sau. Bạn có thể chọn lý do tại sao vòng lặp này sẽ không bao giờ dừng lại? 3Tôi giả mạo đầu ra đó, bởi vì nếu tôi chạy nó, đầu ra sẽ lấp đầy trình duyệt. Bạn có thể cố gắng chạy nó trên máy tính của mình, miễn là bạn biết cách làm gián đoạn các quy trình chạy trốn:
Vòng lặp chạy mãi mãi, bởi vì không có cách nào để điều kiện thử nghiệm bị lỗi. Người lập trình có thể có nghĩa là thêm một dòng tăng current_number thêm 1 mỗi lần thông qua vòng lặp: 4Bạn chắc chắn sẽ thực hiện một số vòng lặp chạy một lúc nào đó tại một số điểm. Khi bạn làm, chỉ cần làm gián đoạn vòng lặp và tìm ra lỗi logic bạn đã thực hiện. Vòng lặp vô hạn sẽ không phải là một vấn đề thực sự cho đến khi bạn có người dùng chạy chương trình của bạn trên máy của họ. Bạn sẽ không muốn các vòng lặp vô hạn sau đó, bởi vì người dùng của bạn sẽ phải tắt chương trình của bạn và họ sẽ coi đó là lỗi và không đáng tin cậy. Học cách phát hiện các vòng lặp vô hạn và đảm bảo chúng không xuất hiện trong các chương trình được đánh bóng của bạn sau này. Dưới đây là một ví dụ nữa về một vòng lặp vô hạn tình cờ: 5Trong ví dụ này, chúng tôi vô tình bắt đầu đếm ngược. Giá trị của # Set an initial condition. game_active = True # Set up the while loop. while game_active: # Run the game. # At some point, the game ends and game_active will be set to False. # When that happens, the loop will stop executing. # Do anything else you want done after the loop runs.8 sẽ luôn dưới 5, vì vậy vòng lặp sẽ chạy mãi mãi. Bài tậpMarveling tại Infinity¶
Thử thách tổng thểGaussian bổ sung JoThử thách này được lấy cảm hứng từ một câu chuyện về nhà toán học Carl Frederich Gauss. Khi câu chuyện diễn ra, khi Young Gauss đang học lớp học, giáo viên của anh ta đã phát điên với lớp học của mình một ngày. "Tôi sẽ giữ cho nhiều bạn bận rộn trong một thời gian", giáo viên nói một cách nghiêm khắc với nhóm. "Bạn phải thêm các số từ 1 đến 100 và bạn không được nói một từ cho đến khi bạn hoàn thành." Giáo viên mong đợi một khoảng thời gian yên tĩnh, nhưng một lúc sau, nhà toán học của chúng tôi đã giơ tay với câu trả lời. "Đó là 5050!" Gauss đã nhận ra rằng nếu bạn liệt kê tất cả các số từ 1 đến 100, bạn luôn có thể khớp các số đầu tiên và cuối cùng trong danh sách và nhận được câu trả lời chung: 6Gauss nhận ra có chính xác 50 cặp số trong phạm vi 1 đến 100, vì vậy anh ta đã tính toán nhanh: 50 * 101 = 5050.
Làm thế nào để bạn thực hiện một đầu vào lặp lại trong Python?Có hai cách để tiếp tục yêu cầu đầu vào của người dùng trong Python.Đầu tiên sử dụng trong khi đúng với IF Statement và Break Statement.Một cách khác là sử dụng vòng lặp thời gian với biểu thức điều kiện.using while true with if statement and break statement. Another way is using a while loop with condition expression.
Làm thế nào để bạn hỏi một câu hỏi nhiều lần trong Python?Để yêu cầu đầu vào người dùng trong Python, hãy sử dụng hàm input () tích hợp.Ngoài việc yêu cầu đầu vào chuỗi đơn giản như thế này, bạn cũng muốn tìm hiểu cách: Yêu cầu nhiều đầu vào trong một lần.Yêu cầu đầu vào lại cho đến khi một đầu vào hợp lệ được đưa ra.use the built-in input() function. In addition to asking for simple string input like this, you also want to learn how to: Ask for multiple inputs in one go. Ask for input again until a valid input is given.
Có lặp lại cho đến khi vòng lặp trong Python không?Lặp lại / cho đến khi vòng lặp là một vòng lặp thực thi một khối các câu lệnh liên tục, cho đến khi một điều kiện nhất định đánh giá là true.Điều kiện sẽ được đánh giá lại vào cuối mỗi lần lặp của vòng lặp, cho phép mã bên trong vòng lặp ảnh hưởng đến điều kiện để chấm dứt nó. . The condition will be re-evaluated at the end of each iteration of the loop, allowing code inside the loop to affect the condition in order to terminate it. |