2017-11-02 10 views
0

私は奇数を合計したいので、num = 7または8を入力すると、1,3,5,7がカウントされます。正解ですが、それらを合計します。そう7及び8のための答えは16(1 + 3 + 5 + 7 = 16)pythonどのように範囲内の奇数を合計するには?

または私はNUM = 9を入力した場合、私は1 + 3 + 5 + 7 + 9 = 25

期待しなければなりませんこの計算にはWhileを使用する必要があります。あなたはこのようなビルトインsum()機能を使用することができます

num = int(input("Insert number: ")) 
sum = 1 
num += 1 
while sum < num: 
    print(sum) 
    sum = sum + 2 
+0

なぜそれが重複しているのですか? – citizen2077

答えて

7

start=1end=num+1step=2

num = int(input("Insert number: ")) 
s = sum(range(1, num+1, 2)) 

range()を(包括的)、終了(排他的)を開始し、我々の場合にはステップを(取ります)

出力:

>>> num = 9 
>>> s = sum(range(1, num+1, 2)) 
>>> s 
25 

whileを使用することが要件である場合は、あなたと同じ結果を得ることができます。OPはしばらくを使用する必要がある場合

>>> s = 0 
>>> i = 1 
>>> while i < num + 1: 
...  if i % 2: # Or: i % 2 != 0, which means we only consider odd nums 
...   s += i 
...  i += 1 
... 
>>> s 
25 
+0

「while」を使用する必要がありますが、自分のコードが自分の答えに合っていました。しかし、私は使用する必要があります – KristenL

+0

@ KristenLちょうど私の答えを編集して、 'while'を使って2番目の解決策を追加しました。 – ettanany

+0

または、奇数のテストの代わりに、ループでi + = 2を使用します(つまり、while i <= num:s + = i)。作品も。 – Lars

関連する問題