Форум сайта python.su
class measure(Enum):
decimetre = 1
kilometre = 2
metre = 3
milimetre = 4
centimenre = 5
x = float(input('lenght: '))
p = measure
Офлайн
chenuf
Код нужно вводить в специальных тегах code
Я правильно понимаю что вы хотите задать входную строку вида, например, 3км а на ввходе получить 3000 ?
Классы здесь обязательное условие?
Офлайн
Да,помогите класи еще узучаю и не могу зделать правильно
Офлайн
Вот вам на самостоятельное изучение достаточный пример
#!/usr/bin/python # -*- coding: utf-8 -*- import re class Measure: def __init__(self, value): self.value = value def to_meters(self): result = re.search('([0-9\.]*)([cdkm]{1,2})', self.value, re.I) if not result: return None digits, char = result.groups() variants = { 'mm': 0.001, 'cm': 0.01, 'dm': 0.1, 'm': 1.0, 'km': 1000.0, } k = variants.get(char.lower()) if not k: return None return float(digits) * k tests = ('100000mm', '10000cm', '1000dm', '100m', '0.1km') for test in tests: print('Measure of {} = {}'.format(test, Measure(test).to_meters()))
Отредактировано JOHN_16 (Март 1, 2016 04:19:59)
Офлайн
chenufСравните:
Да,помогите класи еще узучаю и не могу зделать правильно
Офлайн