难以理解为什么我在高中教这个"快速数学"公式似乎不能正常工作.
前提是按小时工资,加倍并增加三个零,如果你全年工作50周,结果大致相当于你的年薪.
# Preface
print '---> Want to know your yearly salary? <---'.upper()
# Question
money = raw_input("How much money do you earn per hour?")
# Math Work
mult = money * 2
result = mult + str(000)
# Answer
print "you make roughly $%r per year, Working full-time for 50 weeks out of the year" % result
Run Code Online (Sandbox Code Playgroud)
结果: 我的结果看起来像这样:"你每年赚大约10100美元,全年工作50周"
我的表情一定是犯了错误......简单地说,我只是不知道
你得到了所有类型的错误.
raw_input获取一个字符串,因此money被获取.因此,当你这样做时,mult=money*2你不是一个数字加倍,而是一个字符串; money*2因此,写入具有创建字符串的效果,该字符串是您提供的字符串的两个副本的串联.如果你输入10,mult将会'1010'.
此外,in str(000) 000是一个整数,所以它实际上是一个平原0; str(000)因此产生'0',连接到你的doubled-string.1010与'0'=> 连接10100.
你真正想要的是什么
# Question
money = int(raw_input("How much money do you earn per hour?"))
# Math Work
mult = money * 2
result = str(mult) + "000"
Run Code Online (Sandbox Code Playgroud)
顺便说一下,添加零等对于人类来说很好,但是因为我们正在处理计算机,所以你可以乘以2000:
result = 2000*int(raw_input("How much money do you earn per hour?"))
Run Code Online (Sandbox Code Playgroud)