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

Составить программу вывода таблицы умножения на число M. Таблица составляется от M * a, до M * b, где M, a, b запрашиваются у пользователя. Вывод должен осуществляется в столбик, по одному примеру на строку в следующем виде (например):
5 х 4 = 20
5 х 5 = 25
И так далее.
GaiveR
Что конкретно непонятно?
Как запросить число у пользователя знаешь?
Elromper
это блок в котором я уверен…
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
GaiveR
Угу. После ввода данных остается написать только цикл:
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)
Elromper
большое спасибо за помощь.
Правда у меня теперь еще больше вопросов, но буду пробовать для начала разобраться с ними самостоятельно.
GaiveR
Рекомендую почитать какую-нибудь книжку - большая часть вопросов сразу отпадет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB