私は私が今しばらくの間理解しようとしていたという簡単な質問があります。入力された数値範囲(高、低)を取得し、入力された数値を使用して、その範囲内にその数値の倍数があるかどうかを調べるコードを書いています。次に、奇数と偶数の合計を加算し、その数を加算します。正しく計算するためのすべてが揃っていますが、問題は、「90 75 60 4530」の行を他の「3つの偶数の合計が180」の行から分離できないことです。簡単なことだと思いますが、わかりません。誰かが私を正しい方向に向けることができるでしょうか?時間と配慮を事前に感謝します。
以下のコードは次を返します。
Number of high range?: 100
Number of low range?: 20
Multiple to find?: 15
90 75 60 45 30 3 even numbers total to 180
2 odd numbers total to 120
コード:
def main():
x = int(input('Number of high range?: '))
y = int(input('Number of low range?: '))
z = int(input('Multiple to find?: '))
show_multiples(x,y,z)
def show_multiples(x,y,z):
for a in range(x,y,-1):
if a % z == 0:
print (a,end=' ')
even_count = 0
even_sum = 0
odd_count = 0
odd_sum = 0
for num in range(x,y,-1):
if num % z == 0 and num % 2 == 0:
even_count += 1
even_sum += num
for number in range(x,y,-1):
if number % z == 0 and number % 2 == 1:
odd_count += 1
odd_sum += number
print(even_count,'even numbers total to',even_sum)
print(odd_count,'odd numbers total to',odd_sum)
main()
print('\n', even_count, ' even numbers total to ', even_sum, sep='')
それをする必要があります。手動でどこかに新しい行を挿入するだけです
問題の最小限の例:
>>> def test1():
for _ in range(3):
print("foo", end=" ")
print("bar")
>>> test1()
foo foo foo bar # still using end=" " from inside the loop
1つのソリューションの最小限の例:
>>> def test2():
for _ in range(3):
print("foo", end=" ")
print() # empty print to get the default end="\n" back
print("bar")
>>> test2()
foo foo foo
bar
この空のprint
は、個々の番号をfor
するprint
ループの終わりとprint(even_count, ...
、 例えば:
...
odd_sum += number
print()
print(even_count, 'even numbers total to', even_sum)