这个问题在这里已有答案:
我做了一个函数,向用户提出3个问题;考虑到每块瓷砖的宽度,长度和成本......这会产生功能结束时的总成本。
我希望函数能够完成一系列问题,确保输入等于整数。但是我不希望它继续回到问题的开头。
例如。
如果用户在“成本是多少”中输入一个字符串:
我希望它重新提出这个问题而不是回到系列中的第一个问题。
正如现在的功能一样 - 如果没有输入整数,它将继续回到'什么是宽度:'的第一个问题。
"""
A function based on finding the cost of tiling a certain area; based
on
width, length and the cost per tile
"""
def tile_cost():
while True:
try:
w = float(input('What is the width: '))
l = float(input('What is the height: '))
c = float(input('What is the cost: '))
except ValueError:
print('This is not an int')
continue
else:
break
print("The cost of tiling the floor will be: £%.2f" % (w * l * c))
tile_cost()
我已经尝试了多种其他方式来实现我想要实现的目标,但代码变得混乱并重复自身并且实际上并不适合我。试图搜索这一段很长一段时间后,我发现很难找到问题的明确答案。
在此先感谢任何人的帮助,它将有助于进一步了解python :)
你可以分开号码选择器:
def pick_num(text):
while True:
try:
a = float(input(text))
return a
except ValueError:
print('This is not a number')
def tile_cost():
w = pick_num('What is the width: ')
l = pick_num('What is the height: ')
c = pick_num('What is the cost: ')
print("The cost of tiling the floor will be: £%.2f" % (w * l * c))