Пройдя курс программирования и не могу понять, как включить try, кроме как в код в соответствии с этим вопросом - PullRequest
0 голосов
/ 24 сентября 2018

Мне было присвоено задание , и я не мог понять, как его закончить.Я должен включить функции и попробовать - кроме кода, с которым у меня нет опыта.

Пока у меня есть это, чтобы заменить пробелами без пробела, но я не могу отфильтровать число, поэтому яможно умножить их и разделить.

shares = int(input("Input number of shares"))

new_price = 0

while True:
    try:
        price = input("Enter price (dollars, numerator,denominator):")
        int(price.replace(" ", ""))
    except:
        print("Invalid price!")

Ответы [ 4 ]

0 голосов
/ 25 сентября 2018

Не заменяйте пробелы, поймайте каждый символ (цифру) один за другим и оцените его.

Если это число продолжается, если это пробел, вы достигли конца первого значения.Поэтому сохраните значение в другой переменной, скажем value1.Продолжайте делать то же самое, пока не достигнете места снова.Сохранить в value2, снова.Вложите свой цикл while в длину ввода.

Верните переменные, умножьте, ответьте.

0 голосов
/ 24 сентября 2018

A try и catch block используется для перехвата исключений в блоке.Все внутри блока try, которое вызывает исключение, перебросит следующую операцию в блок catch.Это может быть полезно для предотвращения сбоя скрипта, когда вы можете ожидать исключения.

0 голосов
/ 25 сентября 2018

Мы получаем строку целых чисел, разделенную пробелами, затем split эту строку в пробеле, конвертируем каждый из компонентов в int, а затем используем эти int s для расчета цены.

while True:
    try:
        response = input("Enter price (dollars, numerator,denominator):")
        dollars, numerator, denominator = map(int, response.split())
        price = dollars + numerator/denominator
    except ValueError:
        print("Invalid price!")
0 голосов
/ 24 сентября 2018
Enter a number: vash
Traceback (most recent call last):
  File "except.py", line 1, in <module>
    number = int(input('Enter a number: '))
ValueError: invalid literal for int() with base 10: 'vash'

Если мы посмотрим, когда мы пытаемся ввести не int, когда нам требуется int, мы бросаем ValueError сейчас, что становится условием нашего оператора exceptчтобы предотвратить это

try:
    number = int(input('Enter a number: '))
except ValueError:
    print('That is not a number')

Теперь наш вывод становится

Enter a number: vash
That is not a number
...