目录 - 为什么会出错?

时间:2016-10-04 18:13:14

标签: python directory adventure

我正在为我正在处理的程序构建一些目录,但是当它们在游戏中使用时没有出现错误。每一行抛出相同的错误(Syntax Error: invalid syntax),我想知道为什么。这些行是:

secretpassageunearthed = 'No'
pickedup = {'broom': '0', 'rope': '0', 'torch': '0', 'coffin': '0', 'skeleton' = '0', 'key2': '0', 'rock': '0', 'key1': '0', 'mailbox': '0', 'instructions': '0', 'letter': '0', 'key3': '0', 'oar': '0', 'boat': '0', 'red button': '0', 'eaglenest': '0', 'faberge egg': '0', 'trophy case': '0', 'facial': '0', 'gun': '0', 'safe': '0', 'diamond ring': '0', 'junk': '0', 'combination': '0', 'egg': '0', 'flashlight': '0', 'cork': '0', 'bottle': '0', 'oil': '0', 'crown': '0', 'shovel': '0', 'knob': '0', 'twinkies': '0', 'scanner': '0', 'toychest': '0'}
#has the player been in the room?
beenin = {'frontdoor': '0', 'forest': '0', 'forest2': '0', 'forest3': '0', 'forest4': '0', 'lakeshore': '0', 'garden': '0', 'shed': '0', 'lake': '0', 'farshore': '0', 'cliff1': '0', 'cliff2': '0', 'cliff3': '0', 'cliff4': '0', 'clifftop': '0', 'frontsteps': '0', 'frontlawn': '0', 'gate': '0', 'sittingroom': '0', 'livingroom': '0', 'pantry': '0', 'foyer': '0', 'trophyroom': '0', 'hall1': '0', 'diningroom': '0', 'kitchen': '0', 'elevatorup': '0', 'hall3': '0', 'hall2': '0', 'masterbed': '0', 'closet': '0', 'nursery': '0', 'bath': '0', 'guestroom': '0', 'study': '0', 'secretroom': '0', 'servantdining': '0', 'servantbath': '0', 'servantroom': '0', 'boilerroom': '0', 'mechanicalroom': '0', 'winecellar': '0', 'deadend': '0', 'torturechamber': '0', 'morgue': '0'}
maxweight = 50
weights = {'broom': 5, 'rope': 8, 'torch': 5, 'coffin': 40, 'skeleton': 9, 'key1': 2, 'key2': 1, 'rock': 4, 'instructions': 0, 'mailbox': 60, 'letter': 1, 'gargoyle': 60, 'key3': 1, 'blockade': 60, 'oar': 5, 'boat': 30, 'button': 1, 'eagle nest': 60, 'faberge egg': 10, 'trophy case': 60, 'book': 3, 'facial': 1, 'gun': 3, 'safe': 60, 'diamondring': 5, 'junk': 1, 'combo': 1, 'egg': 1, 'flashlight': 3, 'oil': 4, 'bottle': 3, 'cork': 1, 'chandelier': 60, 'crown': 5, 'shovel': 5, 'knob': 3, 'twinkies': 2, 'pot of gold': 30, 'painting': 20, 'scanner': 60, 'toychest': 55} 

任何有关他们错误原因的帮助都将不胜感激。

3 个答案:

答案 0 :(得分:0)

您无法使用=在字典中分配

=更改为:,这应该有效:

secretpassageunearthed = 'No'
pickedup = {'broom': '0', 'rope': '0', 'torch': '0', 'coffin': '0', 'skeleton' : '0', 'key2': '0', 'rock': '0', 'key1': '0', 'mailbox': '0', 'instructions': '0', 'letter': '0', 'key3': '0', 'oar': '0', 'boat': '0', 'red button': '0', 'eaglenest': '0', 'faberge egg': '0', 'trophy case': '0', 'facial': '0', 'gun': '0', 'safe': '0', 'diamond ring': '0', 'junk': '0', 'combination': '0', 'egg': '0', 'flashlight': '0', 'cork': '0', 'bottle': '0', 'oil': '0', 'crown': '0', 'shovel': '0', 'knob': '0', 'twinkies': '0', 'scanner': '0', 'toychest': '0'}
#has the player been in the room?
beenin = {'frontdoor': '0', 'forest': '0', 'forest2': '0', 'forest3': '0', 'forest4': '0', 'lakeshore': '0', 'garden': '0', 'shed': '0', 'lake': '0', 'farshore': '0', 'cliff1': '0', 'cliff2': '0', 'cliff3': '0', 'cliff4': '0', 'clifftop': '0', 'frontsteps': '0', 'frontlawn': '0', 'gate': '0', 'sittingroom': '0', 'livingroom': '0', 'pantry': '0', 'foyer': '0', 'trophyroom': '0', 'hall1': '0', 'diningroom': '0', 'kitchen': '0', 'elevatorup': '0', 'hall3': '0', 'hall2': '0', 'masterbed': '0', 'closet': '0', 'nursery': '0', 'bath': '0', 'guestroom': '0', 'study': '0', 'secretroom': '0', 'servantdining': '0', 'servantbath': '0', 'servantroom': '0', 'boilerroom': '0', 'mechanicalroom': '0', 'winecellar': '0', 'deadend': '0', 'torturechamber': '0', 'morgue': '0'}
maxweight = 50
weights = {'broom': 5, 'rope': 8, 'torch': 5, 'coffin': 40, 'skeleton': 9, 'key1': 2, 'key2': 1, 'rock': 4, 'instructions': 0, 'mailbox': 60, 'letter': 1, 'gargoyle': 60, 'key3': 1, 'blockade': 60, 'oar': 5, 'boat': 30, 'button': 1, 'eagle nest': 60, 'faberge egg': 10, 'trophy case': 60, 'book': 3, 'facial': 1, 'gun': 3, 'safe': 60, 'diamondring': 5, 'junk': 1, 'combo': 1, 'egg': 1, 'flashlight': 3, 'oil': 4, 'bottle': 3, 'cork': 1, 'chandelier': 60, 'crown': 5, 'shovel': 5, 'knob': 3, 'twinkies': 2, 'pot of gold': 30, 'painting': 20, 'scanner': 60, 'toychest': 55} 

答案 1 :(得分:0)

正如其他人所说,问题是您使用func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { self.dismiss(animated: true, completion: nil) // Get reference to storage folder and upload selected image into it let storageReference:FIRStorageReference = FIRStorage.storage().reference(forURL: "gs://myapp-5xxxx.appspot.com").child("profilepic.png") let selectedImage:UIImage = info[UIImagePickerControllerOriginalImage] as! UIImage let imageUrl:String? // This will be the download URL that gets returned from the FIRStorageUploadTask after completion // Method to store image URL in MySQL database self.storeImageUrlInDatabase(with: imageUrl) } 代替=来分配字典项。

当您看到错误消息时,您可能没有注意到Python试图告诉您错误的确切位置:

:

了解 File "adventure.py", line 1 pickedup = {'coffin': '0', 'skeleton' = '0', 'rock': '0'} ^ SyntaxError: invalid syntax 如何指向等号?

答案 2 :(得分:0)

python style guide建议保留行< 72个字符。就个人而言,我的目标是78.如果你这样做,你的代码更容易阅读,作为奖励,它更容易发现问题。例如,如果您提交的文件是

secretpassageunearthed = 'No'
pickedup = {'broom': '0', 'rope': '0', 'torch': '0', 'coffin': '0',
'skeleton' = '0', 'key2': '0', 'rock': '0', 'key1': '0', 'mailbox': '0',
'instructions': '0', 'letter': '0', 'key3': '0', 'oar': '0', 'boat': '0',
'red button': '0', 'eaglenest': '0', 'faberge egg': '0', 'trophy case': '0',
'facial': '0', 'gun': '0', 'safe': '0', 'diamond ring': '0', 'junk': '0',
'combination': '0', 'egg': '0', 'flashlight': '0', 'cork': '0', 'bottle': '0',
'oil': '0', 'crown': '0', 'shovel': '0', 'knob': '0', 'twinkies': '0',
'scanner': '0', 'toychest': '0'}

你会看到python正好指向问题

td@mintyfresh ~/tmp $ python3 test.py
  File "test.py", line 3
    'skeleton' = '0', 'key2': '0', 'rock': '0', 'key1': '0', 'mailbox': '0',
               ^
SyntaxError: invalid syntax

你基本上说“我编写的代码难以阅读且无法找到错误”。