инструмент для генерации XML-файла от xsd (для тестирования) [закрытый]

Вам нужно потратить часы на каждую функцию, которая должна ее использовать, также, когда вы ВОЗВРАЩАЕТЕ что-то, ей нужно место для возврата. Итак, вы говорили, что часы были < 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.

8
задан Community 23 May 2017 в 10:29
поделиться

8 ответов

Редактор XML-схем Oxygen может генерировать образцы документов экземпляра XML из заданной схемы.

5
ответ дан 5 December 2019 в 05:34
поделиться

Eclipse имеет инструменты для этого (и это бесплатно.)

РЕДАКТИРОВАТЬ (да, я был немного слишком кратко): вам нужны инструменты редактирования XSD в Eclipse. Я знаю, что он поставляется в комплекте с Eclipse IDE для разработчиков Java EE , и я думаю также с Eclipse Modeling Tools . (Также возможно добавить их в существующую установку Eclipse, хотя я не знаю точно, какие плагины вы хотите добавить.)

(Я бы хотел быть более точным, но Веб-сайт eclipse.org моделирует себя после дорог Массачусетса: если вы не знаете, где вы находитесь, вам там не место.)

В любом случае: как только вы получите правильную версию Eclipse, откройте существующий файл схемы для редактирования (или создания нового: выберите File -> New ... Other ... Схема XML / XML). Когда вы будете готовы сгенерировать тестовый XML-файл, найдите его в проводнике пакетов (представление навигатора, обычно слева), щелкните правой кнопкой мыши по нему и выберите «Создать / XML-файл».

(«Что я говорят о судоходстве ...?)

8
ответ дан 5 December 2019 в 05:34
поделиться

Я использовал XMLSpy для этого в прошлом с большим успехом .

1
ответ дан 5 December 2019 в 05:34
поделиться

Liquid XML будет выполнять генерацию примера XML , не думайте, что есть опция командной строки, но вы можете сделать это через пользовательский интерфейс. Кажется, что он неплохо справляется, правильно понимает все типы данных / перечисления, кажется, что единственное, с чем он борется - это шаблоны, но затем понимание регулярного выражения достаточно хорошо, чтобы получить правильную строку, немного сложно ...

2
ответ дан 5 December 2019 в 05:34
поделиться

Have you taken a look at Microsoft's XML Schema Definition Tool (xsd.exe)?

-1
ответ дан 5 December 2019 в 05:34
поделиться

Microsoft опубликовала инструмент «генератор документов» в качестве образца. Это статья , в которой довольно подробно описывается архитектура и работа примера приложения.

Если вы просто хотите использовать инструмент создания документов, щелкните здесь и установите MSI.

Это бесплатно. Источник доступен. Для работы требуется .NET Framework. Работает только с XSD. (кроме Relax NG или DTD).

8
ответ дан 5 December 2019 в 05:34
поделиться

Используя Eclipse Ganymede или более позднюю версию, вы можете сгенерировать xml из xsd. Просто нажмите правой кнопкой мыши на xsd и перейдите к генерации > xml.

2
ответ дан 5 December 2019 в 05:34
поделиться

Я могу сделать это очень просто в VS2010, я не знаю, была ли это новая функция, но это работает довольно просто. Щелкните правой кнопкой мыши на корневом элементе xsd в 'xml schema explorer'. Вы увидите опцию 'Generate Sample XML'. При нажатии на нее VS создает временный файл

5
ответ дан 5 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: