添加、乘法、减法的练习脚本,哪个解决方案正确?
我正在做一个程序,需要完成以下任务:
写一个脚本,询问用户一个数字。这个脚本会在这个数字上加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
哪一个解决方案是正确的,还是它们都不对?
我知道这很基础,但我正在学习编程。我想尝试用两种不同的方式来写这个代码。
2 个回答
0
第二个是对的。第一个不对,因为你没有考虑到运算符的优先级。
5
只需要在你最初的版本里加一对括号,就能修正它:
print (number + 3) * 2 - 4 - (number * 2) + 3
否则,3 * 2
的计算优先级会比加法和减法高。
注意,输出结果其实和数字没有关系。简化这个表达式可以看出:
print 5
和上面的代码是一样的效果。