Python:如何使我的elif循环工作?

2024-10-02 22:28:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始做一个类似游戏的东西,出于某种原因,当输入“升级”时,elif循环没有做任何事情

choclate = 0
multiplier = 1
multipliercost = 10
x = 1
while x == 1:
  if input() == (("choclate") + str(choclate+multiplier)):
    choclate = choclate+multiplier
    print("\nYou now have " + str(choclate) + " choclate.\nMultiplier Upgrade Cost: " + str(multipliercost) + " choclate\n")
  elif input() == "upgrade":
    multiplier = multiplier*2
    choclate = choclate-multipliercost
    multipliercost = multipliercost*2.5
    print("You have upgraded your multiplier to " + str(multiplier))

我对编码非常陌生,所以我真的不知道该怎么称呼这个问题


Tags: 游戏inputifhave事情nowprintelif
1条回答
网友
1楼 · 发布于 2024-10-02 22:28:05

如果调用input()两次,那么用户需要在每一轮中输入两次。 如果您希望用户只输入一次,那么您还需要在每一轮中调用input()一次,并将其存储到变量中

这是解决办法

choclate = 0
multiplier = 1
multipliercost = 10
x = 1
while x == 1:
    # save the input into variable
    key_in = input()
    print(("choclate") + str(choclate+multiplier))
    if key_in == (("choclate") + str(choclate+multiplier)):
        choclate = choclate+multiplier
        print("\nYou now have " + str(choclate) + " choclate.\nMultiplier Upgrade Cost: " + str(multipliercost) + " choclate\n")
    elif key_in == "upgrade":
        multiplier = multiplier*2
        choclate = choclate-multipliercost
        multipliercost = multipliercost*2.5
        print("You have upgraded your multiplier to " + str(multiplier))

相关问题 更多 >