Вам нужно потратить часы на каждую функцию, которая должна ее использовать, также, когда вы ВОЗВРАЩАЕТЕ что-то, ей нужно место для возврата. Итак, вы говорили, что часы были < 10, верните 9.95, но когда вы говорите, что он возвращает, он отправляет код обратно в место, где он был вызван, вы не присваиваете его переменной, поэтому по умолчанию для счета устанавливается $ 1. Вот обновленный код для работы
#Bill for Package A
def getPackageA(hours):
if hours < 10:
return 9.95 #Cost of Package A
else:
return (hours-10)*2 + 9.95
#Bill for Package B
def getPackageB(hours):
if hours < 20:
return 13.95 #Cost of Package B
else:
return (hours - 20) + 13.95
#Bill for Package C
def getPackageC():
return 19.95 #Cost of Package C
#Print Bill and savings
def printBill(bill, hours):
if (bill != 0):
print("Your monthly bill is $", format(bill, '.2f'), sep='')
getSavings(bill, hours)
print('\n')
#Checks and display savings if applicable
def getSavings(bill, hours):
if bill > getPackageA(hours):
print("If you had package A, you'd save $",\
format(bill - getPackageA(hours),'.2f'), sep='')
if bill > getPackageB(hours):
print("If you had package B, you'd save $",\
format(bill - getPackageB(hours),'.2f'), sep='')
if bill > getPackageC():
print("If you had package C, you'd save $",\
format(bill - getPackageC(), '.2f'), sep='')
def main():
bill = 1
#Asks user to enter choice of package and hours used
packageChoice = str(input("Enter package purchased (A, B, or C): "))
hours = int(input("Enter the number of hours used: "))
if packageChoice in ('a', 'A') :
bill = getPackageA(hours)
elif packageChoice.lower() == 'b':
bill = getPackageB(hours)
elif packageChoice.upper() == 'C':
bill = getPackageC()
else:
print("Package choice must be A, B, or C.")
printBill(bill, hours)
main()
Я также отредактировал вашу функцию main (), чтобы показать вам различные способы проверки ответов. Вам также не нужно заключать вещи в скобки в Python в операторах IF.
Редактор XML-схем Oxygen может генерировать образцы документов экземпляра XML из заданной схемы.
Eclipse имеет инструменты для этого (и это бесплатно.)
РЕДАКТИРОВАТЬ (да, я был немного слишком кратко): вам нужны инструменты редактирования XSD в Eclipse. Я знаю, что он поставляется в комплекте с Eclipse IDE для разработчиков Java EE , и я думаю также с Eclipse Modeling Tools . (Также возможно добавить их в существующую установку Eclipse, хотя я не знаю точно, какие плагины вы хотите добавить.)
(Я бы хотел быть более точным, но Веб-сайт eclipse.org моделирует себя после дорог Массачусетса: если вы не знаете, где вы находитесь, вам там не место.)
В любом случае: как только вы получите правильную версию Eclipse, откройте существующий файл схемы для редактирования (или создания нового: выберите File -> New ... Other ... Схема XML / XML). Когда вы будете готовы сгенерировать тестовый XML-файл, найдите его в проводнике пакетов (представление навигатора, обычно слева), щелкните правой кнопкой мыши по нему и выберите «Создать / XML-файл».
(«Что я говорят о судоходстве ...?)
Я использовал XMLSpy для этого в прошлом с большим успехом .
Liquid XML будет выполнять генерацию примера XML , не думайте, что есть опция командной строки, но вы можете сделать это через пользовательский интерфейс. Кажется, что он неплохо справляется, правильно понимает все типы данных / перечисления, кажется, что единственное, с чем он борется - это шаблоны, но затем понимание регулярного выражения достаточно хорошо, чтобы получить правильную строку, немного сложно ...
Have you taken a look at Microsoft's XML Schema Definition Tool (xsd.exe)?
Microsoft опубликовала инструмент «генератор документов» в качестве образца. Это статья , в которой довольно подробно описывается архитектура и работа примера приложения.
Если вы просто хотите использовать инструмент создания документов, щелкните здесь и установите MSI.
Это бесплатно. Источник доступен. Для работы требуется .NET Framework. Работает только с XSD. (кроме Relax NG или DTD).
Используя Eclipse Ganymede или более позднюю версию, вы можете сгенерировать xml из xsd. Просто нажмите правой кнопкой мыши на xsd и перейдите к генерации > xml.
Я могу сделать это очень просто в VS2010, я не знаю, была ли это новая функция, но это работает довольно просто. Щелкните правой кнопкой мыши на корневом элементе xsd в 'xml schema explorer'. Вы увидите опцию 'Generate Sample XML'. При нажатии на нее VS создает временный файл