簡體   English   中英

如果輸入空白行,如何退出程序?

[英]How to exit a program if a blank line is entered?

如果輸入空白行,我只想退出程序。 我需要什么?

我試過sys.exit(),但是不會退出程序,只會返回一個空白

while True: # Ask for patient ID
        try:
            i = int(input("Enter patient ID (or blank to exit): "))
            if not i:
                sys.exit()
            else:
                a = len(str(abs(i))) # Checking valid integer
                if a != 6: # Checking id is six digits
                    print("Enter valid patient ID (six digit positive integer)")
                else:
                    break
        except ValueError:
            print("Enter valid patient ID (six digit positive integer)")

我只是希望程序退出。

您的錯誤是您正在讀取輸入並將其立即轉換為整數! 您需要檢查字符串格式的空白輸入,然后將其轉換為數字。

import sys

while True: # Ask for patient ID


        try:

            #Get the user's input as a string.
            inpu   = input("Enter patient ID (or blank to exit): ")

            #If it's blank, exit.
            if inpu == "":
                sys.exit(0)

            else:

                #Now convert the inputed string into an integer.
                i      = int(inpu)
                a      = len(str(abs(i))) # Checking valid integer

                if a != 6: # Checking id is six digits
                    print("Enter valid patient ID (six digit positive integer)")
                else:
                    break

        except ValueError:
            print("Enter valid patient ID (six digit positive integer)")

如果出現錯誤: sys.exit(1)否則,如果成功運行,則可以使用sys.exit()sys.exit(0)

但是您的代碼應類似於:

    while True: # Ask for patient ID
        try:
            i = raw_input("Enter patient ID (or blank to exit): ")
            if len(i) == 0:
                sys.exit()
            else:
                a = len(str(abs(i))) # Checking valid integer
                if a != 6: # Checking id is six digits
                    print("Enter valid patient ID (six digit positive integer)")
                else:
                    break
        except ValueError:
            print("Enter valid patient ID (six digit positive integer)")

也許用輸入替換raw_input

希望能對您有所幫助,

祝你有美好的一天。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM