Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的简单python添加计算器不能工作?_Python - Fatal编程技术网

为什么我的简单python添加计算器不能工作?

为什么我的简单python添加计算器不能工作?,python,Python,您好,我想知道为什么我的加法计算器代码不起作用,我对python和编程都是新手,我使用的是python 3.4.1。代码如下: def add(x, y): """This function will add two numbers""" return x + y number1 = int(input("pick a number: ")) number2 = int(input("pick another number: ")) choice = input cho

您好,我想知道为什么我的加法计算器代码不起作用,我对python和编程都是新手,我使用的是python 3.4.1。代码如下:

def add(x, y):
    """This function will add two numbers"""

    return x + y


number1 = int(input("pick a number: "))

number2 = int(input("pick another number: "))

choice = input
choice2 = input 
if choice == '1' '2' '3' '4' '5' '6' '7' '8' '9' '10':
    print (number1,"+",number2, "=", add(number1,number2))

if choice2 == '1' '2' '3' '4' '5' '6' '7' '8' '9' '10':
    print (number1,"+",number2, "=", add(number1,number2))

编辑:感谢大家对我的帮助:)

在Python中,
'a'b'
'ab'
相同

因此,您的代码请求字符串,将它们转换为整数,然后请求另外两个字符串,并将其与
'12345678910'
进行比较。除非为其中一个输入
'12345678910'
,否则不会发生任何事情

不幸的是,除此之外,你的问题有点模糊。如果你描述了这个程序应该做什么(“计算器”还不够具体),我们可能会帮助你解决如何做


编辑:太多的Ruby,甚至没有注意到
choice=input
这件事。请参阅rroszkowiak的答案。

看起来您希望用户输入两个数字,然后验证这两个数字是否都在1到10之间,如果都在,则输出加法字符串

在这种情况下,
int(input(“pick a number:”)
行已经保证输入将是一个数字。函数
int
将输入转换为数字

所以剩下的就是检查两个输入是否都在1到10之间

def add(x, y):
    """This function will add two numbers"""
    return x + y

number1 = int(raw_input("pick a number: "))

number2 = int(raw_input("pick another number: "))

if 1 <= number1 <= 10 and 1 <= number2 <= 10:
    print (number1,"+",number2, "=", add(number1,number2))
def添加(x,y):
“”“此函数将添加两个数字”“”
返回x+y
number1=int(原始输入(“选择一个数字:”)
number2=int(原始输入(“选择另一个数字:”)

如果1此处,
input
未定义,因此它将抛出一个错误
input undefined

choice = input
choice2 = input 
你不能这样做:

if choice == '1' '2' '3' '4' '5' '6' '7' '8' '9' '10':
    print (number1,"+",number2, "=", add(number1,number2))

if choice2 == '1' '2' '3' '4' '5' '6' '7' '8' '9' '10':
    print (number1,"+",number2, "=", add(number1,number2))
正确的方法是:

if int(choice) <= 10:
    # do something
如果您不熟悉
sum()
函数,
sum([num1,num2])
返回num1和num2之和

这是为了如果你想不设限制:

num1 = int(input("Pick a number: "))
num2 = int(input("Pick another number: "))

print("The sum of " + num1 + "and " + num2 + "is: " + str(sum([num1 + num2])))

您可以使用计算器,从中选择任意两个数字,然后选择要对它们执行的操作:

num_1 = int(raw_input("Enter Your First Number"))
num_2 = int(raw_input("Enter Your Second Number"))
sum_1 = raw_input("Choose Sum (+ - / or *)")

if sum_1 == "+":
  print num_1, "+", num_2, "=", num_1 + num_2
elif sum_1 == "-":
  print num_1, "-", num_2, "=", num_1 - num_2
elif sum_1 == "/":
  print num_1, "/", num_2, "=", num_1 / num_2
elif sum_1 == "*":
  print num_1, "*", num_2, "=", num_1 * num_2
else:
  print "Numbers or Sum Not Recognised"

我只想让它添加两个数字如果你想让它添加
number1
number2
中的数字,那么
choice
choice2
的作用是什么?
def add(x,y):“此函数将添加两个数字”“”返回x+y number1=int(输入(“选择一个数字”))number2=int(输入(“选择另一个数字:”)如果number1='1''2''3''4''5''6''7''8''9''10:打印(number1,“+”,number2,“=”,添加(number1,number2));如果number2='1''2''3''4''5''6''7''8''9''10:打印(number1,“+”,number2,“=”,添加(number1,number2))
添加代码时,特别是在Python中,请编辑原始问题。没有换行符和缩进的Python几乎不可能正确阅读。但正如我所说,
number='1''2'…
不是您想要的,
number in[1,2,…]
是。或者更好的
范围(1,11)中的数字
。我在这台机器上使用的是python 2.7.6。请随意更改
raw_input
返回到
input
。我尝试了这种方法,但出现了语法错误,下面是我的代码
def add(x,y):“此函数将添加两个数字”“”返回x+y数字=范围(1,11)num1=int(输入(“选择一个数字”))num2=int(输入(“选择另一个数字”))如果num1在数字中,num2在数字中:#如果输入num1在列表数字中,则执行以下操作,否则执行else部分。打印(str(num1)+“+”+str(num2)”=”,sum([num1,num2])其他:打印(“您输入的数字大于10”)
我已编辑了我的答案,请立即尝试。它应该可以工作。而且您不再需要
add(x,y)
函数,因为您可以使用
sum([x,y])
获得相同的结果。即使你说
x=[1,2,3,4,5,6,7,8,9,10]
,你也可以简单地做
sum(x)
,它将返回列表
x
中所有数字的总和。
num1 = int(input("Pick a number: "))
num2 = int(input("Pick another number: "))

print("The sum of " + num1 + "and " + num2 + "is: " + str(sum([num1 + num2])))
num_1 = int(raw_input("Enter Your First Number"))
num_2 = int(raw_input("Enter Your Second Number"))
sum_1 = raw_input("Choose Sum (+ - / or *)")

if sum_1 == "+":
  print num_1, "+", num_2, "=", num_1 + num_2
elif sum_1 == "-":
  print num_1, "-", num_2, "=", num_1 - num_2
elif sum_1 == "/":
  print num_1, "/", num_2, "=", num_1 / num_2
elif sum_1 == "*":
  print num_1, "*", num_2, "=", num_1 * num_2
else:
  print "Numbers or Sum Not Recognised"