我很难理解为什么高中时教给我的这个“快速数学”公式似乎不正确。你知道吗
前提是拿你的小时工资,翻倍,加上3个零,如果你一年中有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
结果: 我的结果是这样的:“你一年挣大约10100美元,一年中全职工作50周。”
我的表情一定是搞错了…简单地说,我就是不知道
你把所有的类型都搞错了。你知道吗
raw_input
获取一个字符串,因此money
也是这样获取的。因此,当您执行mult=money*2
操作时,您并不是将一个数字加倍,而是一个字符串;因此,编写money*2
可以创建一个字符串,该字符串是您提供的字符串的两个副本的串联。如果输入10
,mult
将是'1010'
。你知道吗另外,in
str(000)
000
是一个整数,所以它实际上是一个普通的0
;str(000)
结果是'0'
,它连接到您的双精度字符串。1010
与'0'
=>;10100
连接。你知道吗你真正想要的是
顺便说一句,加零之类的数字对人类来说是很好的,但是由于我们是在用计算机,你只需要乘以2000:
你在用一根绳子做数学。首先将其转换为整数:
和乘法,而不是试图在末尾加一个字符串
不过,如果您真的愿意,您可以将整数转换回字符串,在末尾加3个零:
raw_input()
函数返回一个string
。 当您将money
乘以一个数字时,您不是将整数值相乘,而是将字符串值相乘。这将导致变量的新值是字符串的倍数,或者字符串重复多次。我建议使用money上的money=int(money)
函数将其转换为整数,或者更好地使用money=float(money)
来获得浮点数。你知道吗相关问题 更多 >
编程相关推荐