【发布时间】:2016-04-16 23:05:47
【问题描述】:
我在学习在线视频的同时编写此代码。运行代码后出现的问题是最后一个 else 缩进和print("string",end = "") 出现错误。我只是无法弄清楚不断弹出的最终错误。
import random
# Make a list of words
words = ['apple','banana','orange','coconut','strawberry','lime','grapefruit','lemon','kumquat', 'blueberry','melon']
while True:
start = input("Press enter/return to start, or enter Q to quit")
if start.lower() == 'q':
break
# Pick a Random Number
secret_word = random.choice(words)
bad_guesses = []
good_guesses = []
while len(bad_guesses) < 7 and len(good_guesses) != len(list(secret_words)):
# Draw guesses letters, spaces and strikes
for letter in secret_word:
if letter in good_guesses:
print(letter, end = "")
else:
print('_', end = "")
print('')
print('Strikes: {}/7'.format(len(bad_guesses)))
print('')
# Take guess
guess = input("Guess a letter: ").lower()
if len(guess) != 1:
print("You can only guess a single letter !")
continue
elif guess in bad_guesses or guess in good_guesses:
print("You've already guessed that letter !")
continue
elif not guess.isalpha():
print("You can only guess letters !")
continue
if guess in secret_word:
good_guesses.append(guess)
if len(good_guesses) == len(list(secret_word)):
print("YOU WIN !! The word was{}".format(secret_word))
break
else:
bad_guesses.append(guess)
else:
print("You didn't guess it! My secret word was {}".format(secret_word))
这是我得到的错误:
line 17 print(letter, end = "") ^ SyntaxError: invalid syntax Process finished with exit code 1
关于 Python 版本,我正在尝试 2.7 和 3.0。
当我删除 end = "" 时,程序运行,但返回时中断。
【问题讨论】:
-
print(string, [end])语法仅适用于 Python 3,因为这是唯一一个print是函数的版本。你在用什么? -
检查你的缩进 - 特别是你的 while 和 for 语句在第 14-16 行。
-
@AlexHall OP 说他正在按照视频教程中的说明进行操作。如果是批发复制,
input的存在不排除版本错误的可能性。 :) -
“我遇到错误” – 请包含实际的错误消息和堆栈跟踪。
-
@AhmadHussien 请编辑问题以添加堆栈跟踪。现在你实际上已经破坏了堆栈跟踪,我们看不到 ^ 指向的位置!
标签: python