[英]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.