以下是我正在处理的问题:
你想知道你在计算机科学专业的成绩,所以写一个程序 持续将0到100之间的等级标准输入 直到你输入"停止" ,此时它应该打印你的平均值 到标准输出。
到目前为止,这是我在Python 3中的代码:
total = 0
q = 1
score = input("Enter a score:")
while score != "stop":
q += 1
total = total + int(score)
avg = total / q
print(avg)
我对编码非常陌生,可以用一些帮助指出我正确的方向。我觉得对我来说很重要,所以没有人会觉得有义务给我正确的答案。
答案 0 :(得分:4)
我将为您提供一个全面的大纲,以便通过算法帮助您完成此过程。
现在让我们尝试将此算法放在代码中。像我在下面那样做。
# Code Block 1
count = 0 # count variable
total = 0 # total variable
enter = '' # input variable
while enter != 'stop':
enter = input('Enter a grade:' )
if enter != 'stop' and enter.isdigit():
total += int(enter) # add to total value
count = count + 1 # then to the count
print float(total) / count
# Code Block 2
numbers = []
while enter != 'stop':
enter = input('Enter a grade:' )
if enter != 'stop':
numbers.append(int(enter))
print sum(numbers) / float(len(numbers))
答案 1 :(得分:1)
看起来你可能会进入无限循环。您的while语句正在等待分数更改,但您不会在循环内修改分数。你应该添加
score = input("Enter a score:")
在你的while循环中。
答案 2 :(得分:0)
total = 0
total_quiz = 0
inpt = input("Stop? or enter score")
while inpt.upper() != "STOP":
if int(inpt) < 100 and int(inpt) > 0:
total += int(inpt)
total_quiz += 1
else:
print("Score to high or to low")
inpt = input("Stop? or enter score")
print(total / total_quiz)
既然是你的新手,你也应该知道正确的缩进在python中非常重要。
答案 3 :(得分:0)
你的while循环没有缩进但我不知道这是否是一个错字 - 你的主要问题是你需要一个if语句而你的输入语句需要在while循环中,这是一个非常简单的程序只是改变你的代码(所以你应该理解它):
total = 0
q = 0 #need 0 so counter is correct
score = "" #need to declare score
print("Enter 'stop' to exit program") #Need to tell user how to quit
while score != "stop": # you can use while score.lower() != stop to check all cases
score = input("Enter a score:")
#You need to ask the question everytime so it should be in the while loop
if score == "stop": #This is the part you were missing a conditional statement
break #if statment in this case that exits the loop when score is stop
total += int(score) #you can use += here too
q += 1 #moved from top so it doesn't add on the last run (when exited)
avg = total / q
print(avg)
使用类似的if语句检查是否(提示搜索else if)变量介于0和100之间我会留给您,但随时可以询问您是否仍然卡住了。