Skip to main content
 首页 » 编程设计

python之愚蠢的 Python 初学者

2025年05月04日11xiaohuochai

无法理解为什么我在高中教的这个“速成数学”公式似乎不能正常工作。

前提是把你的时薪加一倍加三个零,如果你一年全职工作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'。

此外,在 str(000) 中,000 是一个整数,所以它实际上是一个普通的 0; str(000) 因此导致 '0',它连接到您的双字符串。 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" 

顺便说一句,加零之类的对人类来说没问题,但由于我们是在与计算机打交道,所以您可以乘以 2000:

result = 2000*int(raw_input("How much money do you earn per hour?"))