Python中的乘法和除法问题

0 投票
3 回答
821 浏览
提问于 2025-04-18 05:16

我正在为一个比赛写一个游戏。

到目前为止,用户已经输入了一个数字。

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,而是加了1。

顺便说一下,我尝试了很多种可能性,比如直接用 user * 3(没有用int()这个东西),而且我还是Python的新手。

相关问题:

3 个回答

0

你需要把那个语句的结果保存下来:

user = int(user) * 3

你可能想在一开始就把用户的输入转换成整数,这样就不用一直重复这个操作,可以这样做:

user = int(user)
0

int(user) * 3int(user)/2 这两段代码会返回一个值,但这个值并没有被 赋值。所以你需要这样做:

user = user * 3

还有

user = user / 2

正如jonrsharpe在评论中提到的,代码中的 int() 其实比我想的要复杂。因为在进行相等检查时,user 已经是一个数字了,所以你可能是在搞不清楚状况下做了一些不必要的事情,或者是在尝试把浮点数转换成整数(如果我没记错的话,在python 3.x中,除法会默认把整数转换成浮点数)。如果是后者,你应该这样写:user = int(user / 2),或者更好的是,user = user // 2(再次感谢jonrsharpe)。

0

你需要这样写:

user = int(user)*3

这行代码的意思是把用户输入的值乘以3,然后把结果存回给用户。之前你没有对这个乘法的结果做任何处理,你需要把这个结果保存到一个变量里。

撰写回答