为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查输入以查看字符是否有字母、是否重复或长度超过一个字符

如何检查输入以查看字符是否有字母、是否重复或长度超过一个字符

明月笑刀无情 2021-07-17 18:01:14
所以下面的代码给出了一个输入,检查输入是否是一个字符长,在过去的猜测中,看看它是否是一个字母。否则它应该返回消息再试一次。但是,在尝试代码时,我只得到 else 条件而无法得到 if 条件(应该返回结果)。任何人都知道为什么以及如何解决这个问题?def get_guess(past_guesses):"""Checks if past_guesses is 1 letter, a letter or has been used before, and prompts user to try againExample:>>> get_guess(['A', 'a', 'c', 'd'])'You need to enter one alphabetic character which you haven't\already guessed. Try again'>>> get_guess(['a', 'b', 'c', 'd'])'a'"""answer = "'You need to enter one alphabetic character which you haven't\already guessed. Try again'"while True:    guess = input("Guess a letter: ")    if guess.isalpha() and len(guess) == 1 and guess not in past_guesses:        past_guesses.append(guess)        return guess    else:        print (answer)
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

你怎么打电话get_guess()?当您收到提示Guess a letter:并输入任何不是一个字符的内容时,您的代码将运行您的else子句之后的任何内容。

例如,如果您在abc收到提示后输入,abc则不是一个字符,因此您将转到 else 子句并打印answer


查看完整回答
反对 回复 2021-07-28
?
BIG阳

TA贡献1859条经验 获得超6个赞

也许这就是你要找的。您的代码运行良好。您必须打印返回的结果。

print get_guess(['A', 'a', 'c', 'd'])


查看完整回答
反对 回复 2021-07-28
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

Return 不打印pass_guesses,它从您的函数返回值,如果您想使用它,您需要将它分配给一个变量。

a = get_guess(['A', 'a', 'c', 'd'])
print(a)


查看完整回答
反对 回复 2021-07-28
  • 3 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信