strnumsold = str()
numsold = int()
Flag = False
index = 0
totprice = 0.0
avgsold = 0.0
aboveavg = 0
belowavg = 0
strnumcheck = str()
numcheck = float()
print("Welcome to the Home Sales Calculator!")
print(" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _")
strnumsold = input("\nHow many homes were sold in the past year? ")
while Flag == False:
if strnumsold.isdigit():
numsold = int(strnumsold)
Flag = True
else:
strnumsold = input("That is not a valid number! Try Again!")
Flag = False
tothomes = []
print("\nWhat did the home sell for? (#'s Only) ")
print("**********************************************")
for index in range(numsold):
tothomes.append(input("{}) $ ".format(index + 1)))
strnumcheck = tothomes[index]
if strnumcheck.isdigit():
numcheck = float(strnumcheck)
Flag = True
tothomes[index] = numcheck
else:
tothomes[index] = input("That is not a valid number! Try Again! ")
index = index + 1
Flag = False
tothomes.sort()
print("**********************************************")
for homes in reversed(tothomes):
print(" $", "%.2f"%homes)
avgsold = sum(tothomes)/numsold
print("\nThe Average Price of homes sold was: $", "%.2f"%avgsold)
print("The Highest home sold was: ", "%.2f"%max(tothomes))
print("The Lowest home sold was: ", "%.2f"%min(tothomes))
aboveavg = [above for above in tothomes if above >avgsold]
belowavg = [below for below in tothomes if below <avgsold]
print("The number of homes sold ABOVE Average was: ", len(aboveavg))
print("The number of homes sold BELOW Average was: ", len(belowavg))
Это моя первая программа с указанием как списков, так и номеров.Подтверждение списков и их число
Я опубликовал, насколько я выше, и переписал это несколько раз/способами, пытаясь понять это правильно.
Мой валидационный номер работает, но после ввода снова после повтора «повторите попытку», он не будет полностью прокручивать цикл и менять строку в поплавок.
Он работает так, как предполагается, когда цифры введены правильно. Вот пример того, что происходит при некорректном вводе:
Добро пожаловать в Калькулятор продаж дома!
How many homes were sold in the past year? 3
What did the home sell for? (#'s Only)
**********************************************
1) $ 25
2) $ 36
3) $ m
That is not a valid number! Try Again! 24
Traceback (most recent call last):
File "C:\Users\troythomas448\Desktop\ITCS1140\Assignments\Thomas, Troy Lab#8.3.py", line 37, in <module>
tothomes.sort()
TypeError: unorderable types: str() < float()
Вопросы ищет отладки помощи (** «? Почему не этот код работает» **) должен включать в себя желаемое поведение, * конкретную проблему или ошибку * и * кратчайший необходимый код * для воспроизведения ** в самом вопросе **. Вопросы без ** ясного заявления о проблеме ** не полезны для других читателей. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). – MattDMo
В чем вопрос? если у вас проблемы с работой, вы должны быть более конкретными –
Также обратите внимание, что Stack Overflow не является ни форумом, ни учебным пособием или службой написания кода. Это сайт вопросов и ответов, где * конкретные * вопросы программирования (как правило, но не всегда, включая некоторый код) получают * конкретные * ответы. Пожалуйста, примите [тур] и внимательно прочитайте [помощь], чтобы узнать больше о сайте, в том числе [что по теме] (http://stackoverflow.com/help/on-topic) и [что нет] (http://stackoverflow.com/help/dont-ask), как [задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и как различные грани сайта работа в целом. – MattDMo