函数中If语句的语法错误无效
出于某种奇怪的原因,我的代码一直工作得很好,直到我做了一些更改,几乎破坏了函数中的所有东西。自那以后,我删除了上述更改,但它仍然损坏。它说这一节中的冒号是无效语法。事实上,它对每条if语句和一些比较运算符都是这样说的。
选择 | 换行 | 行号
- if difficulty == "e":
- number_enemies -= 1
# 回答1
嗨,你能把你所有的代码都贴出来吗?
嗨,你能把你所有的代码都贴出来吗?
# 回答2
整个函数相当长,但可以肯定。它应该是在我正在开发的一款文本游戏中创造敌人的。
整个函数相当长,但可以肯定。它应该是在我正在开发的一款文本游戏中创造敌人的。
选择 | 换行 | 行号
- # Randomly generates enemies
- def create_enemies(difficulty, mode, current_location, battles):
- # Clears enemies from the last battle
- enemies = []
- # List of possible names for the enemies to use
- names = ["Aiden", "James", "Sam", "Aidan", "Brad", "Pavle", "Fuda", "David", "Andrew", "Harry", "Callum", "Tomasz", "Bazli", "Georgia", "Sheldon", "Legolas", "Aragorn", "Gimli", "Boromir", "Faramir", "Éomer", "Éowyn", "Treebeard", "Celeborn", "Galadrial", "Radagast", "Gandalf", "Merry", "Pippin", "Frodo", "Sam", "Bilbo", "Azog", "Gorkil", "Sharku", "Shagrat", "Gorbag", "Lurtz", "Tom Bombadil", "Goldberry"]
- # Randomly decides how many enemies there will be
- number_enemies = int(random.randint(2,5)
- # 1 less enemy in Easy difficulty
- if difficulty == "e":
- number_enemies -= 1
- # 1 more enemy in Hard difficulty
- elif difficulty == "h":
- number_enemies += 1
- # 2 more enemies in Legendary difficulty
- elif difficulty == "l":
- number_enemies += 2
- # The more battles you've had, the more enemies there will be
- number_enemies += int((battles/100)*30)
- # There will always be at least 2 enemies
- if not (number_enemies >= 2):
- number_enemies = 2
- #Enemies are different at the boss battles
- if mode == 2 and current_location.evil_final == True:
- enemies = [Troll("Cave Troll"), Uruk("Uruk"), Wizard("Sauron"), Orc("Orc"), WargRider("Warg Rider"), Easterling("Easterling"), Goblin("Goblin 1"), Goblin("Goblin 2"), Goblin("Goblin 3")]
- elif mode == 1 and current_location.good_final == True:
- enemies = [Wizard("Gandalf"), Elf("Legolas"), Dwarf("Gimli"), Ranger("Aragorn"), Human("Boromir"), Hobbit("Frodo"), Hobbit("Sam"), Hobbit("Merry"), Hobbit("Pippin")]
- else:
- for z in range(number_enemies):
- if mode == 1:
- # Determines the class of the enemy
- # 1/4 Goblin, 1/4 Orc, 1/8 Uruk, 1/8 Easterling, 3/24 Warg Rider, 2/24, Wizard, 1/24 Troll
- enemy_class = random.randint(1, 24)
- if enemy_class in range(1,6):
- enemies.append(Goblin(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(7,12):
- enemies.append(Orc(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(13,15):
- enemies.append(Uruk(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(16,18):
- enemies.append(Easterling(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(19,21):
- enemies.append(WargRider(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(22,23):
- enemies.append(Wizard(names[random.randint(1,(len(names)-1))]))
- if enemy_class == 24:
- enemies.append(Troll(names[random.randint(1,(len(names)-1))]))
- if mode == 2:
- # Determines the class of the enemy
- # 1/4 Hobbit, 1/4 Human, 1/8 Elf, 1/8 Dwarf, 3/24 Ranger, 2/24 Wizard, 1/24 Ent
- enemy_class = random.randint(1, 24)
- if enemy_class in range(1,6):
- enemies.append(Hobbit(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(7,12):
- enemies.append(Human(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(13,15):
- enemies.append(Elf(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(16,18):
- enemies.append(Dwarf(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(19,21):
- enemies.append(Ranger(names[random.randint(1,(len(names)-1))]))
- if enemy_class in range(22,23):
- enemies.append(Wizard(names[random.randint(1,(len(names)-1))]))
- if enemy_class == 24:
- enemies.append(Ent(names[random.randint(1,(len(names)-1))]))
- return enemies
# 回答3
谢谢!在做了几处更改之后,我设法运行了代码。我把它保存在txt中,因为我不能把它以.py格式上传到这里。我开始选择所有文本,然后按Shift+Tab键两次;然后,在11的末尾也有一个漏掉的圆括号。这个.py格式的文件运行正常。有时,错误可能在指示的行以外的行中。如果您有任何疑问,请告诉我。顺便说一下,由于我在这里遇到的一个错误,我将文件编码更改为UTF-8,但这可能是不必要的。如果你还有什么问题,请告诉我。
也许您需要做的唯一更改是将缺失的圆括号添加到代码中。
附加的文件
Forum.txt
(3.7KB,368次浏览)
谢谢!在做了几处更改之后,我设法运行了代码。我把它保存在txt中,因为我不能把它以.py格式上传到这里。我开始选择所有文本,然后按Shift+Tab键两次;然后,在11的末尾也有一个漏掉的圆括号。这个.py格式的文件运行正常。有时,错误可能在指示的行以外的行中。如果您有任何疑问,请告诉我。顺便说一下,由于我在这里遇到的一个错误,我将文件编码更改为UTF-8,但这可能是不必要的。如果你还有什么问题,请告诉我。
也许您需要做的唯一更改是将缺失的圆括号添加到代码中。
附加的文件
Forum.txt
(3.7KB,368次浏览)
# 回答4
那个漏掉的括号..。我把它放在那里,突然一切都完美地工作了。非常感谢!
那个漏掉的括号..。我把它放在那里,突然一切都完美地工作了。非常感谢!
# 回答5
不客气!
最好的
标准数据队列
不客气!
最好的
标准数据队列
标签: python