需要有关在python中编写函数和返回变量的提示

时间:2015-09-23 01:03:15

标签: python

让用户猜出一个数字,但在出现错误时给出提示,如下所示。

number = input('Enter your number here: ')
def guessTheNumber(number):
 if number <= 10:
 return str('Your number is to small')
 else:
 if number >= 10:
 return str('Your number is to big')
 else:
 if number == 10:
 return str('Your right!')

需要帮助修复错误并实际输出信息,因为它会产生空白和错误。感谢。

5 个答案:

答案 0 :(得分:1)

您的其他声明是不必要的,并且不知道您是否错误地粘贴了代码,但是您的间距全部都是关闭的。此外,您正在返回一个字符串但从不打印它,这就是您从未见过它的原因。你想在调用函数之前先打印一下。以下代码有效:

def guessTheNumber(number):
    if number < 10:
        return str('Your number is to small')
    if number == 10:
        return str('Your right!')
    if number > 10:
        return str('Your number is to big')

number = input('Enter your number here: ')

print(guessTheNumber(number))

答案 1 :(得分:0)

请尝试以下代码:

number = int(input('Enter your number here: '))
def guessTheNumber(number):
    if number <= 10:
        return 'Your number is to small'

    elif number >= 10:
        return 'Your number is to big'

    elif number == 10:
        return 'Your right!'

print(guessTheNumber(number))
  1. 如果您想要返回一些字符串,则不需要使用str()函数。
  2. else无法像这样使用。 For more info
  3. Python需要缩进吗? :)
  4. 如果您定义了一个函数,则应该像guessTheNumber(number)一样调用它。 For more info

答案 2 :(得分:0)

好的,我解决了一些问题:不要使用else: if [xxx,yyy],而是尝试使用elif,因为它不会让人感到困惑。

而且,游戏示例中的缩进是关闭的,这使得阅读起来更加困难。尝试将代码复制并粘贴到问题框中,然后突出显示,然后按{}按钮。

number = input('Enter your number here: ')
def guessTheNumber(number):
   if number <= 10:
       return str('Your number is to small')
   elif number >= 10:
       return str('Your number is to big')
   elif number == 10:
       return str('You're right!')
print guessTheNumber(number)

答案 3 :(得分:0)

你忘了抓住并打印返回字符串。关于python中的缩进

要非常小心
number = input('Enter your number here: ')
def guessTheNumber(number):
    if number <= 10:
        return str('Your number is to small')
    if number >= 10:
        return str('Your number is to big')
    if number == 10:
        return str('Your right!')
str = guessTheNumber(number)
print str

答案 4 :(得分:-1)

让你的代码更多&#34; pythonic&#34;该函数可写为:

def guess_the_number(number):
    return ('You are right.', 
            'Your number is too big.', 
            'Your number is too small.')[cmp(number, 10)]

cmp是一个比较函数,如果第一个参数小于,等于或大于第二个参数,它将返回-101

然后可以将此值用作元组的索引。在01上,它将返回第一个或第二个项目(索引从0开始,而不是从1开始)。

负数索引从结尾开始计算,因此-1是最后一项。使用此功能,您只需将-1的返回值作为最后一项。

此外,我更正了您的缩进(应该是4个空格)和函数名称以适合典型的Python编码样式。