Pycharm 中的平均函数

Average Function in Pycharm

我刚刚开始从书本中学习 Python。但是当我 运行 我的脚本时,我一直 运行ning 遇到同样的问题,它说:

   File "C:/Users/bob/Desktop/Python/Part3 A.py", line 8, in <module> print(' the average is: ', avg())
    File "C:/Users/Bob/Desktop/Python/Part3 A.py", line 6, in avg average = a + b + c / 3
    TypeError: unsupported operand type(s) for /: 'str' and 'int'

我安装"Pycharm"错了吗?

这是我的代码

def avg():
a = input('please enter a: ')
b = input('please enter b: ')
c = input('please enter c: ')
average = a + b + c / 3
print(' the average is: ', avg()) 

我是不是安装错了"Pycharm"?否

在python3inputreturns一个字符串

a = int(input("please enter a:")) #this will make the input an integer 
# warning if the user enters invalid input it will raise an error

应该可以正常工作

您还应该将打印行更改为

print(' the average is: ', avgerage)

计算平均值的时候也要注意运算顺序

average = (a + b + c) / 3

就是你想要的

你也有缩进问题,但我很确定那是你复制和粘贴错误的原因......否则你会有不同的错误

您正在尝试将字符串除以整数。 您需要将输入转换为整数。

def avg():
    a = int(input('please enter a: '))
    b = int(input('please enter b: '))
    c = int(input('please enter c: '))
    average = (a + b + c) / 3
    return average

print(' the average is: ', avg())

您正在对字符串输入应用算术运算。使用前将其转换为 int

int(input('please enter a: '))

def avg():
a = intinput('please enter a: ')
b = input('please enter b: ')
c = input('please enter c: ')
average = a + b + c / 3
print(' the average is: ', avg())

试试这个

def avg():
 a = input('please enter a: ')
 b = input('please enter b: ')
 c = input('please enter c: ')
 average = int(a) + int(b) + int(c) / 3
 print(' the average is: ', avg())
return;

P.S: Python 缩进敏感

您的错误较多,具体如下:

def avg():
    a = int(input('Please enter a: '))
    b = int(input('Please enter b: '))
    c = int(input('Please enter c: '))
    average = (a + b + c) / 3
    print('The average is:', average)

avg() # call function outside
  • 函数作用域下缩进4个空格
  • 使用内置 int.
  • 将字符串输入转换为整数
  • 使用括号,否则 PEMDAS 的数学错误。
  • 最后,打印平均值,不要递归调用函数。