Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в python в цикле for задать шаг 0.5?

Евгений Дьяков Знаток (405), на голосовании 9 лет назад
Голосование за лучший ответ
Globe Просветленный (24836) 9 лет назад
range(a, b, 0.5) не канает?
Евгений ДьяковЗнаток (405) 9 лет назад
Пишет error 'float'. Я так понял, в range только целочисленные значения работают...
Globe Просветленный (24836) да, действительно. Тогда, наверно, будет проще через while
Виктор К Мастер (2302) 9 лет назад
через for:
допусьтм
вам нужно пройтись от 1 до 10 с шагом 0.5
for x in range(2,20,1):
__print(x/2)

или можно забабахать совсем уж страшную конструкцию:
for x in [y/2, for y in range(2,20)]:
__print(x)
Haskell CurryМастер (1071) 9 лет назад
>>> 3/2
1
лексей дронин Мыслитель (5707) 9 лет назад
цикл это целый шаг. получается ты хочешь выполнить пол цикла что то сделать и снова пол цикла?
Diana KarandashovaПрофи (737) 5 лет назад
Нет, если пройтись от 1 до 10 с шагом 0,5, то будет что то вроде 1,5 - 2 - 2,5 и т. д
Naron waz Мастер (1016) 9 лет назад
for i in range(a,b,0.5):
лексей дронинМыслитель (5707) 9 лет назад
for _ in range(1,10,0.5):
TypeError: 'float' object cannot be interpreted as an integer
ты бы сам проверил прежде чем писать. но не работает цикл с числом типа float!
у тебя шаг от 1 до 10 идет. а что такое пол шага? то есть вместо 10 шагов ты сделаешь 20 полушагов. смысл думаю понятен? я так понимаю чел нужно чтоб какое то действие выполнялось только за 2 прохода цикла вот он и выразился как 0.5 шаг. так тут условие в помошь.
Naron waz Мастер (1016) x=1.0 while x<10.0: x+=0.5 зачем for можно же так
Похожие вопросы