2012-07-01 4 views
0

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

Ex:

позволяет сказать, последний предел 1000 начать отсчет с 1 если подсчитанное значение кратно 50, добавьте его в список

Так что список должен иметь номера, 50,100,150,200 ... и т. д. Я застрял на третьем шаге, как бы я позволил питону знать, что значение кратно 50

Спасибо, что помогли мне.

+3

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

+2

Что-то вроде 'range (50, 1001, 50)'? –

+0

Да, я знаю, что это очень простой вопрос, m новый для python, я могу считать число, но я смущен, как сообщить ему, что его кратное 50. Я пытаюсь использовать цикл for. для i в 1000: а затем я потерял .. – Whiskey

ответ

2

% оператор, он возвращает остаток. Таким образом, если число кратно 50, то это остаток будет 0, за исключением случая, что само число равно 0. (т.е. 0 делится на 50 приведет к 0, как остаток)

>>> lis=[] 
>>> for x in range(1,1001): 
     if x%50==0:   
     lis.append(x) 
>>> lis 
[50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000] 
1

Если в междунар i является кратным 50, то по определению он будет иметь нулевой остаток при делении на 50 - Python, как и большинство языков программирования, имеет modulo operator, чтобы точно проверить, что - «многократно 50?» пишется:

if i % 50 != 0: 
    # i is a multiple of 50 

Или что то же самое:

if not i % 50: 
    # i is a multiple of 50 

Какой из них использовать, зависит от ли вы думаете об этом, как «остаток равен нулю» или «нет никакого остатка» - но они всегда будет давать тот же ответ.

+0

Спасибо за объяснение..grateful :) – Whiskey

0
>>>a = [i for i in range(1,1001) if i%50==0] 
>>>print a 

или

>>>a = [i for i in range(1,1001) if not i%50] 
>>>print a 
Смежные вопросы