[英]Exception has occurred: TypeError 'builtin_function_or_method' object is not iterable
So I am following along with some beginner level projects and I am currently working on a hangman game.所以我正在关注一些初学者级别的项目,我目前正在开发一个刽子手游戏。 I have researched this error and understand that im failing to call a function and probably missing () but i have reviewed the code and cant quite see where it would or what exactly is going wrong我已经研究了这个错误并了解我未能调用 function 并且可能缺少 () 但我已经查看了代码并且不能完全看到它会在哪里或到底出了什么问题
import random
from words import words
import string
def get_valid_word(words):
word = random.choice(words)
while "-" in word or " " in word:
word = random.choice(words)
return word.upper
#randomly selects a word from our list until we get a vadlid one to use for the game
def hangman():
word = get_valid_word(words)
word_letters = set(words) #letters in the word
alphabet = set(string.ascii_uppercase)
used_letters = set() # what the user has guessed
while len(word_letters) > 0:
# letters used
print('You have used these letters: ' ' '.join(used_letters))
#what current word is (ie W - R D)
word_list = [letter if letter in used_letters else '-' for letter in word]
print('Current word: ', ' '.join(word_list))
user_letter = input('Guess a letter: ').upper()
if user_letter in alphabet - used_letters:
used_letters.add(user_letter)
if user_letter in word_letters:
word_letters.remove(user_letter)
elif user_letter in used_letters:
print('You have already guessed this letter')
else:
print('Invalid character. Please try again.')
hangman()
the error is with line 25 word_list = [letter if letter in used_letters else '-' for letter in word]
错误在于第 25 行word_list = [letter if letter in used_letters else '-' for letter in word]
I've tried putting () everywhere to be honest i just cant find the mistake.老实说,我已经尝试将 () 放在任何地方,我只是找不到错误。
Missing parenthesis: return word.upper => return word.upper() – rochard4u 5 hours ago缺少括号:return word.upper => return word.upper() – rochard4u 5 小时前
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.