Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 1, 2012 19:17:45

Elromper
Зарегистрирован: 2012-11-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка для новичка

Пришел сюда с хабра, привела задачка в одной из статей о Python выложенной еще в 2008г. Сам не справляюсь, подскажите пожалуйста решение:

Составить программу вывода таблицы умножения на число M. Таблица составляется от M * a, до M * b, где M, a, b запрашиваются у пользователя. Вывод должен осуществляется в столбик, по одному примеру на строку в следующем виде (например):
5 х 4 = 20
5 х 5 = 25
И так далее.



Так интересно, так интересно, но ничего не понятно!

Офлайн

#2 Ноя. 1, 2012 19:34:41

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

Задачка для новичка

Что конкретно непонятно?
Как запросить число у пользователя знаешь?



Офлайн

#3 Ноя. 1, 2012 20:21:47

Elromper
Зарегистрирован: 2012-11-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка для новичка

это блок в котором я уверен…
a = int(raw_input(“A:”))
b = int(raw_input(“B:”))
m = int(raw_input(“M:”))

а дальше танцы -
d = m * a

for d in range(a, b):
a += 1
print d



Так интересно, так интересно, но ничего не понятно!

Офлайн

#4 Ноя. 1, 2012 20:49:36

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

Задачка для новичка

Угу. После ввода данных остается написать только цикл:

a = int(raw_input("A:"))
b = int(raw_input("B:"))
m = int(raw_input("M:"))
for x in range(a, b + 1):
    res = x * m
    print '{} x {} = {}'.format(m, x, res)

Но по хорошему данные от пользователя всегда нужно проверять. Что будет если вместо целого числа он введет текст или рациональное число?

Выглядеть проверка может примерно так:
# -*- coding: utf-8 -*-
def safe_input(promt):
    while True:
        try:
            return int(raw_input(promt))
        except ValueError:
            print u"Нужно ввести целое число. Попробуйте еще раз. "
a = safe_input("A:")
b = safe_input("B:")
m = safe_input("M:")
if a > b:
    a, b = b, a
for x in range(a, b + 1):
    res = x * m
    print '{} x {} = {}'.format(m, x, res)



Отредактировано GaiveR (Ноя. 1, 2012 23:21:26)

Офлайн

#5 Ноя. 1, 2012 21:29:27

Elromper
Зарегистрирован: 2012-11-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Задачка для новичка

большое спасибо за помощь.
Правда у меня теперь еще больше вопросов, но буду пробовать для начала разобраться с ними самостоятельно.



Так интересно, так интересно, но ничего не понятно!

Офлайн

#6 Ноя. 1, 2012 21:59:43

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

Задачка для новичка

Рекомендую почитать какую-нибудь книжку - большая часть вопросов сразу отпадет.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version