1. 返回结果
def fun(n):
if n < 0:
return -1
elif n == 1:
return 1
else:
lst=[2,8]
for i in range(1,n):
lst.append(lst[-1]+lst[-2])
return lst[-2]%lst[-1]
print(fun(7))
# 8
在 Python 中,return 语句会立即结束函数的执行,并返回指定的值。
因此,当 return 语句出现在 for 循环内部时,函数会在第一次迭代后立即返回,而不会继续执行后续的迭代。
2. 编写函数实现计算列表中元素的最大值
- 需求:随机产生10个元素,存储到列表中,编写函数获取这个列表中元素的最大值(不能使用内置函数max())
import random
def get_max(lst):
max = lst[0]
for i in range(1,len(lst)):
if lst[i] > max:
max = lst[i]
return max
lst = [random.randint(1,100) for i in range(10)]
print(lst)
max = get_max(lst)
print(max)
3. 编写函数实现提取指定字符串中的数字并求和
- 需求:使用input()获取一个字符串,编写并传参,使用isdigit()方法提
取字符串中所有的数字,并对提取的数字进行求和计算,最后将存储
数字的列表和累加和返回
def get_digit(n):
s = 0 #求和
lst = []
for item in n:
if item.isdigit():
lst.append(int(item))
s = sum(lst) # 求和
return lst,s
x = input("请输入字符串:")
lst,s=get_digit(x)
print("提取的数字列表:",lst)
print("求和:",s)
-----------------------
test:
请输入字符串:adfa46a4
提取的数字列表: [4, 6, 4]
求和: 14
4. 编写函数实现将字符串中字母的大小写转换
- 需求:使用input()获取一个字符串,编写并传参,将字符串中所有的小写字母转成大写字母,将大写字母转成小写字母
def lower_upper(n):
lst=[]
for item in n:
if 'A'<item<'Z':
lst.append(chr(ord(item) + 32)) # ord()将字母转换为Unicode码整数,加32,chr()整数码转化为字符
elif 'a'<item<'z':
lst.append(chr(ord(item) - 32))
else:
lst.append(item)
print(''.join(lst))
s = input("请输入字符串:")
lower_upper(s)
-----
test:
请输入字符串:hello152WORLD
HELLO152world
-------------------------------------------
def lower_upper(n):
lst=[]
for item in n:
if 'A'<item<'Z':
lst.append(item.lower())
elif 'a' < item < 'z':
lst.append(item.upper())
else:
lst.append(item)
print(''.join(lst))
s = input("请输入字符串:")
lower_upper(s)
5. 编写函数实现操作符in的功能
- 需求:使用input()从键盘获取一个字符串,判断这个字符串在列表中
是否存在(函数体不能使用in),返回结果为True或False
def get_find(s,lst):
for item in lst:
if item == s:
return True
return False
lst = ['hello','world','kyle']
s = input("请输入字符串:")
result = get_find(s,lst)
print('存在' if result else '不存在') # if...else的简写,三元运算符 if result 利用到了布尔值
# 如果 result 的值为 True(例如,非零、非空字符串、非空列表等),则打印 '存在'。
# 如果 result 的值为 False(例如,0、None、空字符串、空列表等),则打印 '不存在'。