def Data():
while True:
try:
PetTotal = int(input("Please enter the number of pets: "))
except ValueError:
print("Sorry, I didn't understand that.")
continue
else:
PetBreeds = []
Ages = []
while True:
try:
Gender = int(input("Enter gender option: "))
except ValueError:
print("Sorry, I didn't understand that.")
continue
if Gender > 2 or Gender < 1:
print("Wrong!")
continue
else:
Count = 0
while Count != PetTotal:
Breed = str(input("Breed: "))
Age = float(input("Age: "))
if Gender == 1:
PetBreeds.append(Breed)
Ages.append(Age)
Count = Count + 1
else:
PetBreeds.append(Breed)
Ages.append(Age)
Count = Count + 1
PetInfo = dict(zip({PetBreeds, Ages))
return PetBreeds, Gender;
我已经添加了一些输入验证到我的代码,因为我试图理解它。但是,我的代码不再正常工作。当PetTotal
大于2时,它只循环一次,因此只能输入一个pet类型(而不是两个)。我相信答案是显而易见的,但我想不出来…任何帮助都是非常欢迎的!你知道吗
不管try case中输入的值是多少,else部分只执行一次,因此请尝试应用for循环,以便else部分执行n次
方法
return
s中的最后一行-这将导致最外层的循环(控制要处理多少宠物的循环)退出。你知道吗我想你希望你的代码看起来像
相关问题 更多 >
编程相关推荐