愚蠢的Python初学者

Xil*_*las 1 python expression

难以理解为什么我在高中教这个"快速数学"公式似乎不能正常工作.

前提是按小时工资,加倍并增加三个零,如果你全年工作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周"

我的表情一定是犯了错误......简单地说,我只是不知道

Mat*_*lia 8

你得到了所有类型的错误.

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)