簡體   English   中英

為什么 While 循環繼續以及如何根據輸入的數字計算平均值?

[英]Why the While loop continues and how to calculate the average based on numbers input?

嗨,我正在嘗試解決這個編碼作業:

編寫一個程序,總是要求用戶輸入一個數字。 當用戶輸入負數 -1 時,程序應該停止請求用戶輸入數字。 然后程序必須計算除 -1 之外的輸入數字的平均值。

我定義 while 循環以確保它不斷詢問,如:

while n != -1
 str(input("enter your number:"))

但是每當我嘗試輸入 -1 時,它都會繼續要求輸入數字。 另外,我不確定什么是定義不包括 -1 的平均值的最佳方法,在這個作業之前的課程都沒有談到這個。 我用谷歌搜索過,但沒有一個例子符合這個特定的任務,即使四處摸索也無濟於事。

謝謝您的幫助:)

大概n是用戶輸入,但您永遠不會為n分配值。 你是故意的嗎?

n = str(input("enter your number:"))

另外,您將n-1進行比較,但您的輸入不是數字; 這是一個字符串。 您可以通過n = int(input(...))將輸入轉換為數字,或將輸入與字符串進行比較: while n != '-1'

謝謝大家,這是具有正確值的最終代碼,可以給出用戶輸入的平均值

n = float(input("What number?"))
if n != -1:
    sum = 0
    nums_len = 0
    while n != -1:
        sum += n
        nums_len += 1
        n = float(input("What number?"))
print("The average is", float(sum/nums_len))

您可以要求一個數字,如果它不等於 -1,則進入 while 循環。 所以代碼是:

n = int(input("What number?"))
if n != -1:
    sum += n
    nums_len = 1
    while n != -1:
        sum += 1
        nums_len += 1
        n = int(input("What number?"))
print("The average is", sum/nums_len)

好的,這是我到目前為止的代碼:


n = float(input("Enter number"))
sum = 0
while n != -1:
  n = float(input("Enter number"))
  sum = sum + n
else:
  average = sum / n
print("The average is", average)

但是平均值不正確? 另外,如何不將 -1 包含在平均值中?

暫無
暫無

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

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