簡體   English   中英

Python 打印 while 循環的每次迭代

[英]Python print each iteration of a while loop

我創建了一個總和 function ,它接受一個起始編號和一個結束編號,並返回這兩點之間的總和答案

def print_sum_equations(start_number,end_number):
    
    mySum = 0 
    num = start_number

    while num <= end_number:
         mySum += num 
         num += 1  
    print (mySum)
    
print_sum_equations(3,5)

它返回 12 這是正確的,但是,我希望我的 output 看起來像下面

3 + 4 + 5 = 12

而不僅僅是返回答案。 我對 python 仍然很陌生,並且正在學習如何迭代 while 循環,因此不勝感激

def print_sum_equations(start_number,end_number):
    
    vals = [i for i in range(start_number,end_number+1)]

    s = sum(vals)

    for ind,i in enumerate(vals):
        print(f'{i}',end='')
        if ind != end_number-start_number:
            print(' + ',end='')
        else:
            print(f' = {s}')

print_sum_equations(3,5)

使用join方法從值列表中獲取系列。

val_list = list(range(start_number, end_number+1))
lhs = ' + '.join(val_list)
print ( lhs + ' = ' + str(sum(val_list)) )

您還可以使用列表推導來獲取 val_list:

val_list = [ n for n in range(start_number, end_number+1) ]

...但是list(range(...更直接。

我的解決方案 python 中的編程非常新,非常簡單易讀。

def print_sum_equations(start_number,end_number):

  mySum = 0 
  num = start_number
  num_list = []
  num_list.append(num)


  while num <= end_number:
     mySum += num 
     num += 1
     num_list.append(num)
  print (mySum)
  num_list.pop()
  print(*num_list, sep="+",end="")
  print("="+str(mySum))

print_sum_equations(2,5)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM