由-------------------------------------------分开的两个程序------------------------------------------------
该行上方的程序称为program1
该行下方的程序称为program2
程序之间唯一的区别是program1中的int(input())和program2中的输入
问题/我的思路:
在if number:
时,program1 number == integer and number != 0
将“okd”
在if number:
时,program2 number == string and number != 0
将“okd”
是if number:
检查number
是否是Try:
中的return number
例如,在program1中,它试图成为一个整数,并且在program2中它试图成为一个字符串,如果数字是它试图成为的那个,那么它将是“okd”,程序将break
和{{1 }}?
def limit(question):
while True:
try:
number = int(input(question))
except:
number = 0
if number:
return number
break
question = "type an integer expressed with digits and press enter: "
number = limit(question)
print(number)
def limit(question):
while True:
try:
number = input(question)
except:
number = 0
if number:
return number
break
question = "type an integer expressed with digits and press enter: "
number = limit(question)
print(number)
答案 0 :(得分:0)
如果给出的if
,0,False
,None
,''
的表达式,[]
语句的正文将不会被评估,等if
语句不会尝试检测number
是否尝试成为字符串/ int。
因此,如果用户输入0,那么number = int(input(question))
将运行得很好,但数字将为零,因此if
语句的主体将不会被评估。
try
/ except
的目的是检查try
正文中的语句是否会出错。因此,如果用户输入了一些数字,那么number = int(input(question))
将运行没有任何问题。如果用户输入的内容不是整数,那么number = int(input(question))
将为您提供ValueError
,except
块将捕获错误并进行评估。