我正在开发一个需要执行以下操作的程序:
编写一个脚本,询问用户是否有号码。该脚本为该数字添加3。然后将结果乘以2,减去4,减去原始数字的两倍,加3,然后打印结果。
这是我的第一个解决方案:
#Prompt user for number
number = input("Input a number")
#Print out the solution
print number + 3 * 2 - 4 - (number * 2) + 3
这是我的第二个解决方案:
#Prompt user for number
number = input("Input a number ")
#Add 3 to number
print "Let's add 3"
number1 = number + 3
print number1
#Multiply by 2
print "Let's multiply by 2"
number1 = number1 * 2
print number1
#Subtract 4
print "Let's subtract 4"
number1 = number1 - 4
print number1
#Subtract twice the original number
print "Let's subtract the original number twice!"
number2 = number + number
number1 = number1 - number2
print number1
#Add 3
print "...And finally, we add 3"
number1 = number1 + 3
print "Our sum is", number1
哪种解决方案正确,或者它们都不正确?
我知道这是非常基本的,但我正在学习编程。我想我会尝试两种不同的编写代码的方式。
答案 0 :(得分:5)
只需在第一个版本中添加一对括号即可更正它:
print (number + 3) * 2 - 4 - (number * 2) + 3
否则,3 * 2
的评估优先级高于加法和减法。
请注意,输出完全不依赖于数字。简化表达式显示
print 5
与上面的代码相同。
答案 1 :(得分:0)
第二个是正确的。第一个是不正确的,因为您没有考虑运算符优先级。