【发布时间】:2014-10-21 12:29:25
【问题描述】:
我有一个快速的问题,我一直在尝试弄清楚一段时间。我正在编写一个代码,该代码采用输入的数字范围(高和低),然后使用输入的数字来确定该范围内是否有该数字的倍数。然后它将奇数和偶数的总和相加,并加上有多少。我已经正确计算了所有内容,但我的问题是我无法将“90 75 60 45 30”行与另一行“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()
【问题讨论】:
-
只需在
for num in range(x,y,-1):循环之前添加一个print()调用。 -
虽然它确实把线路带到了我想要的地方。它还将数字部分堆叠在一起,对我来说就像从一个煎锅跳到另一个煎锅一样。不过感谢您的回复。
标签: python function python-3.x printing sum