代码不是 运行
Code not running
我随机想到制作一个程序来区分时间和到目前为止它的工作原理,尽管当我添加另一个 elif 时,代码没有 运行。第一部分有效,但如果数字相同,则最后一个 elif 语句不会 运行.
num1 = input("Enter your first number: ")
num2 = input("Enter your second number: ")
if num1 > num2:
print (num1 - num2)
elif num1<num2:
print (num2 - num1)
elif num1==num2:
print ("There is no difference")
你是运行宁python2还是python3?此外,您的时间指标使用什么?
您的错误可能是 input()
给定您 运行ning
的 python 版本具有不同功能的结果
python2 中的 input()
接收一个字符串并在其上 运行s eval()
将其转换为最可能的类型。比如我在命令行输入2,python2会把2当成一个字符串,"2"
,然后在上面输入运行eval()
,变成一个整数,2
。 See the documentation for input()
here.
另一方面,python3 中的 input()
只是从命令行接收输入并将其直接作为字符串处理。因此,如果您要为 num1
输入 2,则 num1
将以 "2"
的形式存在,除非另有说明。 See documentation for python3 input()
here.
因此,如果您 运行 宁 python2,这个程序应该可以正常工作。如果您 运行 宁 python3,当您尝试减去字符串时,您将 运行 出错。
可能是字符串操作的问题
尝试用这个替换输入代码:
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
我是 运行 Python 2,如果我将您的程序包含在这样的函数中,效果会很好。
num1 = input("Enter your first number: ")
num2 = input("Enter your second number: ")
def difference(num1,num2):
if num1 > num2:
print (num1 - num2)
elif num1<num2:
print (num2 - num1)
elif num1==num2:
print ("There is no difference")
difference(num1,num2)
你可以这样做:
try:
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
if num1 > num2:
print (num1 - num2)
elif num1<num2:
print (num2 - num1)
elif num1==num2:
print ("There is no difference")
except ValueError:
print('Not a number');
我随机想到制作一个程序来区分时间和到目前为止它的工作原理,尽管当我添加另一个 elif 时,代码没有 运行。第一部分有效,但如果数字相同,则最后一个 elif 语句不会 运行.
num1 = input("Enter your first number: ")
num2 = input("Enter your second number: ")
if num1 > num2:
print (num1 - num2)
elif num1<num2:
print (num2 - num1)
elif num1==num2:
print ("There is no difference")
你是运行宁python2还是python3?此外,您的时间指标使用什么?
您的错误可能是 input()
给定您 运行ning
input()
接收一个字符串并在其上 运行s eval()
将其转换为最可能的类型。比如我在命令行输入2,python2会把2当成一个字符串,"2"
,然后在上面输入运行eval()
,变成一个整数,2
。 See the documentation for input()
here.
input()
只是从命令行接收输入并将其直接作为字符串处理。因此,如果您要为 num1
输入 2,则 num1
将以 "2"
的形式存在,除非另有说明。 See documentation for python3 input()
here.
因此,如果您 运行 宁 python2,这个程序应该可以正常工作。如果您 运行 宁 python3,当您尝试减去字符串时,您将 运行 出错。
可能是字符串操作的问题
尝试用这个替换输入代码:
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
我是 运行 Python 2,如果我将您的程序包含在这样的函数中,效果会很好。
num1 = input("Enter your first number: ")
num2 = input("Enter your second number: ")
def difference(num1,num2):
if num1 > num2:
print (num1 - num2)
elif num1<num2:
print (num2 - num1)
elif num1==num2:
print ("There is no difference")
difference(num1,num2)
你可以这样做:
try:
num1 = int(input("Enter your first number: "))
num2 = int(input("Enter your second number: "))
if num1 > num2:
print (num1 - num2)
elif num1<num2:
print (num2 - num1)
elif num1==num2:
print ("There is no difference")
except ValueError:
print('Not a number');