Hướng dẫn python try/except continue - python thử/ngoại trừ tiếp tục

0

Nội dung chính ShowShow

  • Chào mừng đến với cộng đồng Treehouse
  • Tìm kiếm để học một cái gì đó mới?
  • Làm thế nào để bạn tiếp tục một vòng lặp sau khi bắt được ngoại lệ trong thử Catch Python?
  • Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?
  • Làm thế nào để bạn tiếp tục một vòng lặp sau khi bắt được ngoại lệ trong thử Catch Python?
  • Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?
  • Làm thế nào để bạn tiếp tục chạy sau một ngoại lệ trong Python?

Làm thế nào để bạn tiếp tục một
Learn more.

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more.

try:
    with open('numbers.txt') as file1, open('operators.txt') as file2:
        for no1, no2, op in itertools.zip_longest(file1, file1, file2):
            result = eval(no1.rstrip() + op.rstrip() + no2.rstrip())
            print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' = ' + str(result))
except IOError:
    print('File cannot be found or opened')
    exit()
except ZeroDivisionError:
    print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' - Division by 0 is not allowed')
except NameError:
    print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' - Cannot perform operation with characters')

Tôi phải đọc từ hai tập tin. Một chứa các số (với các ký tự không hợp lệ được trộn lẫn) và các toán tử khác. Chương trình dừng lại sau khi đạt được ngoại lệ nhưng tôi cần nó tiếp tục đọc tệp số. Tôi đã thử từ khóa vượt qua mà không gặp may.

Tôi thực sự sẽ đánh giá cao bất kỳ sự giúp đỡ.Jul 24, 2020 at 12:01

2

Hỏi ngày 24 tháng 7 năm 2020 lúc 12:01Jul 24, 2020 at 12:01

import itertools

try:
    with open('numbers.txt') as file1, open('operators.txt') as file2:
        for no1, no2, op in itertools.zip_longest(file1, file1, file2):
            try:
                result = eval(no1.rstrip() + op.rstrip() + no2.rstrip())
                print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' = ' + str(result))
            except ZeroDivisionError:
                print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' - Division by 0 is not allowed')
            except NameError:
                print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' - Cannot perform operation with characters')
except IOError:
    print('File cannot be found or opened')
    exit()

Chia khối try-except và di chuyển các lỗi đáng tin cậy vào bên trong vòng lặp:Jul 24, 2020 at 12:09

Đã trả lời ngày 24 tháng 7 năm 2020 lúc 12:09Jul 24, 2020 at 12:09rdas

Rdasrdasrdas6 gold badges33 silver badges44 bronze badges

Huy hiệu vàng 20k6 33 Huy hiệu bạc44 Huy hiệu đồng6 gold badges33 silver badges44 bronze badges

Bạn có thể thêm câu lệnh continue hoặc pass vào khối

import itertools

try:
    with open('numbers.txt') as file1, open('operators.txt') as file2:
        for no1, no2, op in itertools.zip_longest(file1, file1, file2):
            try:
                result = eval(no1.rstrip() + op.rstrip() + no2.rstrip())
                print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' = ' + str(result))
            except ZeroDivisionError:
                print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' - Division by 0 is not allowed')
            except NameError:
                print(no1.rstrip() + op.rstrip() + no2.rstrip() + ' - Cannot perform operation with characters')
except IOError:
    print('File cannot be found or opened')
    exit()
0. Ném các ngoại lệ bên trong vòng lặp và thêm câu lệnh continue hoặc pass. Kiểm tra câu trả lời này để tham khảo.Jul 24, 2020 at 12:08

segfault404segfault404segfault404segfault404

Đã trả lời ngày 24 tháng 7 năm 2020 lúc 12:08Jul 24, 2020 at 12:081 silver badge11 bronze badges

Phù hiệu bạc 2811 Huy hiệu đồng1 silver badge11 bronze badges

Tôi có một mã trong đó tôi lặp qua danh sách máy chủ và nối các kết nối vào danh sách kết nối, nếu có lỗi kết nối, tôi muốn bỏ qua điều đó và tiếp tục với máy chủ tiếp theo trong danh sách máy chủ.Show

  • Chào mừng đến với cộng đồng Treehouse
  • Nội phân Chính showShow
  • Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?
  • Làm thế nào để bạn tiếp tục một vòng lặp sau khi bắt được ngoại lệ trong thử Catch Python?
  • Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?
  • Làm thế nào để bạn tiếp tục chạy sau một ngoại lệ trong Python?

Làm thế nào để bạn tiếp tục một

def do_connect(self):
    """Connect to all hosts in the hosts list"""
    for host in self.hosts:
        try:
            client = paramiko.SSHClient()
            client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            client.connect(host['ip'], port=int(host['port']), username=host['user'], timeout=2)
        except:
            pass
            #client.connect(host['ip'], port=int(host['port']), username=host['user'], password=host['passwd'])

        finally:
            if paramiko.SSHException():
                pass
            else:
                self.connections.append(client)

Phù hiệu bạc 2811 Huy hiệu đồng1 silver badge11 bronze badges

Tôi có một mã trong đó tôi lặp qua danh sách máy chủ và nối các kết nối vào danh sách kết nối, nếu có lỗi kết nối, tôi muốn bỏ qua điều đó và tiếp tục với máy chủ tiếp theo trong danh sách máy chủ.Oct 9, 2017 at 8:43

4

Chào mừng đến với cộng đồng Treehouse

Nội phân Chính showShow

Tìm kiếm để học một cái gì đó mới?Oct 9, 2017 at 9:22

2

Làm thế nào để bạn tiếp tục một vòng lặp sau khi bắt được ngoại lệ trong thử Catch Python?

Từ khóa tiếp tục được sử dụng để kết thúc lần lặp hiện tại trong một vòng lặp (hoặc vòng lặp trong một thời gian) và tiếp tục được lặp tiếp theo.

def do_connect(self):
    """Connect to all hosts in the hosts list"""
    for host in self.hosts:
        try:
            client = paramiko.SSHClient()
            client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            client.connect(host['ip'], port=int(host['port']), username=host['user'], timeout=2)
        except:
            continue
            #client.connect(host['ip'], port=int(host['port']), username=host['user'], password=host['passwd'])

        finally:
            if client._agent is None:
                pass
            else:
                self.connections.append(client)

Nội phân Chính showOct 9, 2017 at 8:43Oct 9, 2017 at 9:08

Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?Oct 9, 2017 at 9:22Nanoni

Đây là những gì tôi có bây giờ:2 gold badges7 silver badges19 bronze badges

1

Chào mừng đến với cộng đồng Treehouse

Nội phân Chính showShow

Nội phân Chính showShow

Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?

import random
GREETING = "======> Welcome to Rando <====="

def start_game():

    print(GREETING.upper())
    answer = random.randint(1,10)
    num_of_guess = 1
    print(answer)

    rules = print("Select an integer between 1 & 10, and I will tell you if it's too high or too low. \n If you can\'t correctly guess my number within 3 tries, it\'s GAMEOVER!")

    try:
        while num_of_guess < 4:
            guess = int(input("Pick an integer between 1 & 10:  "))
            if 1 < guess > 10:
                raise ValueError
                #continue
            if guess == answer:
                print("Congrats! You guessed my number")

            else:
                if guess > answer:
                    print('Too High')
                else:
                    print("Too Low")

            num_of_guess += 1


    except ValueError as err:
        print(("Number has to be integer between 1 & 10, try again!"))




start_game()   

Làm thế nào để bạn tiếp tục một vòng lặp sau khi bắt được ngoại lệ trong thử Catch Python?

Từ khóa tiếp tục được sử dụng để kết thúc lần lặp hiện tại trong một vòng lặp (hoặc vòng lặp trong một thời gian) và tiếp tục được lặp tiếp theo.

Nội phân Chính showOct 9, 2017 at 8:43

Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?Oct 9, 2017 at 9:22

import random
GREETING = "======> Welcome to Rando <====="

def start_game():

    print(GREETING.upper())
    answer = random.randint(1,10)
    num_of_guess = 1
    print(answer)

    rules = print("Select an integer between 1 & 10, and I will tell you if it's too high or too low. \n If you can\'t correctly guess my number within 3 tries, it\'s GAMEOVER!")


    while num_of_guess < 4:
      try:

        guess = int(input("Pick an integer between 1 & 10:  "))
        if guess < 1 or guess > 10:
            raise ValueError
            #continue
        if guess == answer:
            print("Congrats! You guessed my number")

        else:
            if guess > answer:
                print('Too High')
            else:
                print("Too Low")

        num_of_guess += 1


      except ValueError as err:
          print(("Number has to be integer between 1 & 10, try again!"))




start_game()   

Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?

Đây là những gì tôi có bây giờ:, you can continue executing the loop if some loop iterations raise exceptions. You can still handle an exception for a statement, then continue with the next statement.

Làm thế nào để bạn tiếp tục một vòng lặp sau khi bắt được ngoại lệ trong thử Catch Python?

Điều này không hoạt động đúng, nếu kết nối không thành công, nó chỉ lặp lại cùng một máy chủ mãi mãi, cho đến khi nó thiết lập kết nối, làm thế nào để tôi khắc phục điều này?Oct 9, 2017 at 9:08. Place a try-except block inside of a for-loop to continue catching exceptions with the try-except block.

Làm thế nào để bạn tiếp tục một vòng lặp ngay cả sau một ngoại lệ?

Làm thế nào để bạn tiếp tục chạy sau một ngoại lệ trong Python?. Otherwise when you get an error, it will break all the loops. Perhaps after the first for-loop, add the try/except . Then if an error is raised, it will continue with the next file.

Làm thế nào để bạn tiếp tục một

Từ khóa tiếp tục được sử dụng để kết thúc lần lặp hiện tại trong một vòng lặp (hoặc vòng lặp trong một thời gian) và tiếp tục được lặp tiếp theo. is used to end the current iteration in a for loop (or a while loop), and continues to the next iteration. is used to end the current iteration in a for loop (or a while loop), and continues to the next iteration.