所以我正在为比赛写一个游戏。
到目前为止,用户已输入一个号码。
if user % 2 == 0 :
print("What you entered is an even number.")
print("")
print("So, according to RULE 1, we must now divide it by 2.")
int(user)/ 2
thing2 = "So, now we're left with " + str(user) + "."
print (thing2)
else :
print("What you entered is an odd number.")
print("")
print("So, according to RULE 1, we must now multiply it by 3, and add 1.")
int(user) * 3
user += 1
thing2 = "So, now we're left with " + str(user) + "."
print (thing2)
....但是int(user) * 3
部分实际上并没有将数字乘以3,但确实会增加一个。
为了记录,我尝试了很多可能性,例如只有user * 3
(没有int()的东西)而且我是Python的初学者。
答案 0 :(得分:0)
您需要保存该语句的输出:
user = int(user) * 3
您可能希望在开始时将用户更改为整数,因此您不需要继续这样做,例如:
user = int(user)
答案 1 :(得分:0)
你需要说:
user = int(user)*3
这使得用户的值原始时间为3.之前,您没有对乘法的值做任何事情。您需要将值保存在变量
中答案 2 :(得分:0)
int(user) * 3
和int(user)/2
返回值,但此值未已分配。所以你必须这样做
user = user * 3
和
user = user / 2
正如jonrsharpe在评论中指出的那样,代码中出现的int()
比我想象的要复杂得多。因为在等式检查期间user
已经是一个数字,你或者只是简单地做一些不必要的事情,或者试图将浮点数转换为整数(如果我没记错的话,在python 3.x中转换为整数默认情况下浮动)。如果它是后者,你应该user = int(user / 2)
或更好,user = user // 2
(再次感谢jonrsharpe)。