1. 编写一函数fun()传入两个参数s和t,其中s和t均表示正整数,要求返回在[s,t]区间内有多少整数中含有数字是7的。例如:fun(1,9)返回1,fun(1,20)。注意:不能导入任何模块,不能使用关键字for和while。
时间: 2024-03-27 15:38:17 浏览: 52
可以使用递归函数来实现。具体实现如下:
```python
def fun(s, t):
if s > t: # 如果s > t,返回0
return 0
if '7' in str(s): # 如果s包含数字7,返回1加上fun(s+1, t)的结果
return 1 + fun(s+1, t)
else: # 如果s不包含数字7,返回fun(s+1, t)的结果
return fun(s+1, t)
```
函数中,首先判断s是否大于t,如果是,则返回0。接着判断s是否包含数字7,如果是,则返回1加上fun(s+1, t)的结果,否则返回fun(s+1, t)的结果。在递归调用中,将s+1作为参数传递给fun函数,并将返回值与1相加(如果s包含数字7),或直接返回(如果s不包含数字7)。最终,fun函数返回的结果即为[s,t]区间内所有包含数字7的整数的个数。
相关问题
2. 编写一函数fun()传入两个参数s和t,其中s和t均表示正整数,要求返回在[s,t]区间内有多少整数中含有数字是7的。例如:fun(1,9)返回1,fun(1,20)。注意:不能导入任何模块,不能使用关键字for和while。
以下是使用递归实现的函数fun():
```python
def fun(s, t):
if s > t:
return 0
if '7' in str(s):
return 1 + fun(s + 1, t)
else:
return fun(s + 1, t)
```
这个函数首先检查s是否大于t,如果是,则返回0。否则,它将检查s是否包含数字'7'。如果是,它将返回1加上从s + 1到t之间所有包含数字'7'的整数数量。否则,它将返回从s + 1到t之间所有包含数字'7'的整数数量。
例如,fun(1,9)将返回1,因为只有数字7包含数字'7'。fun(1,20)将返回2,因为数字7和17都包含数字'7'。
编写一函数fun()传入两个参数s和t,其中s和t均表示正整数,要求返回在[s,t]区间内有多少整数中含有数字是7的。例如:fun(1,9)返回1,fun(1,20)。注意:不能导入任何模块,不能使用关键字for和while。
好的,可以使用递归实现该函数。代码如下:
```python
def fun(s, t):
if s > t:
return 0
elif '7' in str(s):
return 1 + fun(s+1, t)
else:
return fun(s+1, t)
```
函数首先判断s是否大于t,如果是,则返回0;否则判断s是否包含数字7,如果包含,则返回1加上s+1到t区间内包含数字7的整数个数;否则返回s+1到t区间内包含数字7的整数个数。
例如,fun(1,9)返回1,fun(1,20)返回2。
阅读全文