新人对于return理解的一个小问题
def isEqual(num1, num2):if num1<num2:
print ('too small')
return False
if num1>num2:
print ('too big')
return False
if num1==num2:
print ('bingo!')
return True
from random import randint
num = randint(1, 100)
print('Guess what I think?')
bingo = False
while bingo == False:
answer = int(input())
bingo = isEqual(answer, num)
一个猜数字的游戏,请问红色部分如果猜对数字 前面定义的函数是将bingo返回为True吗?所以猜对数字后bingo不为False就不继续运行了是这样吗?如果是的话,那前面的那个isEqual函数里最后的return False或者return True是不是将整个函数改为False或者True啊,表达的不专业,还请见谅
另外,这里面的False和True可以有其他的替代吗? 在论坛里搜索了没有找到可能是问题太简单了,还请各位帮帮看下,谢谢啦{:10_254:}
请问红色部分如果猜对数字 前面定义的函数是将bingo返回为True吗?
是的,猜对数值执行 isEqual 函数里面的第三个 if 条件,返回 True
所以猜对数字后bingo不为False就不继续运行了是这样吗?
是的,因为函数返回了 True ,所以不符合红字部分 while 循环条件,退出循环
前面的那个isEqual函数里最后的return False或者return True是不是将整个函数改为False或者True啊?
函数调用返回结果即为赋值给变量的数值,举个例子:假如你猜对数字,那么 isEqual 函数返回的是 True
则bingo = isEqual(answer, num) 即 isEqual(answer, num) 猜对数字返回 True ,isEqual(answer, num) = True ,相当于 bingo = True
这里面的False和True可以有其他的替代吗?
可以用 0 和1 代替,因为 1 == True , 0== False
Twilight6 发表于 2020-11-15 13:49
是的,猜对数值执行 isEqual 函数里面的第三个 if 条件,返回 True
太感谢啦!明白啦~ 一个猜数字的游戏,请问红色部分如果猜对数字 前面定义的函数是将bingo返回为True吗?
答:在函数调用环节:bingo的初值为False,所以可以经过while判断进入循环,如果猜对了,bingo变成True,下次循环就进不去了,也就是直接结束了
所以猜对数字后bingo不为False就不继续运行了是这样吗?
答:是的,你说的很正确
那前面的那个isEqual函数里最后的return False或者return True是不是将整个函数改为False或者True啊?
答:表达不准确,但基本意思是对的,,
因为调用的时候, bingo = isEqual(answer, num)
这一句,将函数的返回值赋值给了bingo,,所以 函数的返回值是什么,bingo就等于什么,函数调用时返回什么,函数就等效于什么(大白话,听懂就好) 昨非 发表于 2020-11-15 13:55
答:在函数调用环节:bingo的初值为False,所以可以经过while判断进入循环,如果猜对了,bingo变成True ...
明白啦~谢谢!! 啊这,几分钟没刷新而已,这么快吗,,,,
页:
[1]