是否有提示用户输入特定数字的代码?



我正在练习Python,我的代码有一些问题。我正在尝试定义main函数并提示用户输入三个特定的数字。程序应该找到这三个数字的平均值,并将平均值与输入的数字进行比较,然后计算有多少数字等于平均值。

这是我的代码:

def main():
def introduction():
print("Welcome to My Program!")
print("My name is Alex.")
print("In this program, you will enter three numbers.")
print("The program will find the average of those numbers.")
print("The program will compare those three numbers to the average.")
print("Continue to the next section please....")

n1 = int(input("Please Enter Number 1: "))
n2 = int(input("Please Enter Number 2: "))
n3 = int(input("Please Enter Number 3: "))

print(f'The numbers you entered were: {n1} {n2} {n3}')  

def findaverage(n1, n2, n3):
avg = (n1 + n2 + n3)/3
return avg
print(f'The average for those numbers are: {avg:.3f}')
def comparetoavg(a1, a2, a3, avg):
count = 0
number = [a1, a2, a3]
for x in number:
if number > avg:
print(f'This number: {number} is above than the average {avg:.3f}.')
elif number < avg:
print(f'This number: {number} is below than the average {avg:.3f}.')
else:
count += 1
print(f'This number: {number} is equal to the average {avg:.3f}.')
print(f'{count} values are equal to the average.')      
main()
  1. 我的代码无法通过。它只打印"请输入号码";
  2. 我希望我的代码迭代10次。我知道必须使用循环,但我不确定在哪里放置循环。
  3. 我希望2次迭代中有三个值等于平均值,3次迭代中没有值等于平均值,5次迭代中有一个值等于平均值。有人能帮帮我吗?

你的代码似乎有几个问题。

  1. 只调用main函数。main函数中只有函数定义,没有函数调用。必须将函数调用放在main函数中,然后再调用main函数。在最好的情况下,您还可以将函数定义置于主函数定义之上。

  2. 您可以使用input()函数来请求用户输入。

  3. 如果你想调用函数10次,你必须把它们的函数调用放在一个有10次迭代的for循环的体中。

试试这个:

def findaverage(n1, n2, n3):
...
def comparetoavg(a1, a2, a3, avg):
...
def main():
for i in range(0, 10):
n1 = input("Enter number:")
n2 = input("Enter number:")
n3 = input("Enter number:")
avg = findaverage(n1, n2, n3)
comparetoavg(n1, n2, n3, avg)
main()

这只是一个关于如何使用for循环、输入函数以及如何正确定义和调用方法的示例。你可能需要进一步调整它以适应你的需要。

你需要调用你的函数,让它们实际运行,并确保它们在相同的作用域内,这样它们实际上是可调用的

def findaverage(n1, n2, n3):
avg = (n1 + n2 + n3)/3
print(f'The average for those numbers are: {avg:.3f}')
return avg
def comparetoavg(a1, a2, a3, avg):
count = 0
number = [a1, a2, a3]
for x in number:
if x > avg:
print(f'This number: {x} is above than the average {avg:.3f}.')
elif x < avg:
print(f'This number: {x} is below than the average {avg:.3f}.')
else:
count += 1
print(f'This number: {x} is equal to the average {avg:.3f}.')
print(f'{count} values are equal to the average.')
def introduction():
print("Welcome to My Program!")
print("My name is Alex.")
print("In this program, you will enter three numbers.")
print("The program will find the average of those numbers.")
print("The program will compare those three numbers to the average.")
print("Continue to the next section please....")
def main():
introduction()

n1 = int(input("Please Enter Number 1: "))
n2 = int(input("Please Enter Number 2: "))
n3 = int(input("Please Enter Number 3: "))

print(f'The numbers you entered were: {n1} {n2} {n3}')
avg = findaverage(n1, n2, n3)
comparetoavg(n1, n2, n3, avg)

main()

函数introduction,findaveragecomparetoavg是在main中定义的,但它们从未被调用,因此它们中的代码不会被执行。

最新更新