类型错误:必须是实数而不是字符串。

6
每当我运行代码时,会出现错误信息 "TypeError: must be real number, not str"。
from math import*

num1 = input("Enter the num ")
num2 = input("Enter the power ")

def exponent_func( num1 ,  num2):
     return(pow ( str(num1) , str(num2) ))  

exponent_func(num1 ,  num2)

1
你正在将输入转换为 str 以传递给 pow 函数。 - pault
它说不应该是 str,而你正在使用 str() - Austin
2个回答

9

使用 int 而不是 str

from math import*

num1 = input("Enter the num ")
num2 = input("Enter the power ")

def exponent_func( num1 ,  num2):
     return(pow ( int(num1) , int(num2) ))  

exponent_func(num1 ,  num2)

2
如果有人想要获取num1的平方根,该怎么办? - pault
然后我们会使用 sqrt(x)。 - Amy
1
@Amy如果有人想要将num1的0.1次方,该怎么办?我并不是在挑剔,但重要的是要理解为什么你所做的事情行不通,以及这个答案的局限性。编辑:阅读为什么import *不好也很值得一看。 - pault
这是我第一天学习Python编程,我没有太多的编程经验,所以这只是为了熟悉语法。我已经更新了我的代码,使用float代替int。感谢提供链接! - Amy

0

你想将字符串输入转换为浮点数或整数。num1 = float(num1)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接