我创建了一个代码,要求用户输入一个数字。以下代码仅允许用户输入一个数字。确定输入是否是Python中的数字
while True:
strainx =input("Please enter a value for strain in the x-direction: ")
try:
num_format=float(strainx)
break
except ValueError:
print("Invalid Entry")
strainx=float(strainx)
这只是代码的一部分。我有几个输入具有完全相同的代码,但名称不同。其中之一是输入'v'的值。
最后一行'strainx = float(strainx)'对我来说没有任何意义,因为它将strainx格式化为float,但输入只能接受float。
此外在代码有这涉及到V ** 2
如果我摆脱“strainx =浮子(strainx)”行和所有的其它输入的同一行的(包括的方程v)涉及v ** 2的方程不再有效,并给出了错误:
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'
任何人都可以帮助解释为什么这是?当然,我应该能够摆脱'strainx = float(strainx)'行而不会出现错误?