[英]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.