计算列表平均值、素数判定、反转字符串,查找整数列表最大最小值、统计字符串中元音字母个数(大小写字不敏感)。
(笔记模板由python脚本于2023年11月09日 21:50:35创建,本篇笔记适合熟悉Python函数及基本数据类型的coder翻阅)
Python 官网:https://www.python.org/
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
本文质量分:
CSDN质量分查询入口:http://www.csdn.net/qc
【题目来源于 CSDN 问答社区提问“5个写函数小练习”】
计算列表平均值、素数判定、反转字符串、查找整数列表最大最小值、统计字符串中元音字母个数(大小写字不敏感)等五道小题,练习写自定义函数,算法简单,逻辑明了。Python,解决问题总是不只一个方案,作为死粉的我,也在渐渐养成python的这一陋习。在这篇学习笔记中,我用目前能够想到的途径来搞定各小题。
题目描述
def calculate_average1(lis):
count = 0
for i in lis:
count += i
return count/len(lis)
def calculate_average2(lis):
return sum(lis)/len(lis)
if __name__ == '__main__':
lis = [1, 2, 3, 4, 5]
print(f"\n1、输出:\n{' '*3}a. 遍历列表计算总和:{calculate_average1(lis)}\n{' '*3}b. 用sum函数计算列表总和:{calculate_average2(lis)}")
题目描述
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if not num%i:
return False
return True
if __name__ == '__main__':
print(f"\n2、输出:\n{' '*3}100以内的素数:{', '.join(map(str, [i for i in range(100) if is_prime(i)]))}")
题目描述
def reverse_string1(s):
result = []
for i in s:
result.insert(0, i)
return ''.join(result)
def reverse_string2(s):
result = ''
for i in range(len(s)-1, -1, -1):
result += s[i]
return result
def reverse_string3(s):
result = ''
for i in range(1, len(s)+1):
result += s[-1*i]
return result
def reverse_string4(s):
return s[::-1]
if __name__ == '__main__':
s = "Hello, World!"
print(f"\n3、输出:\n{' '*3}a. 用list.insert方法反转:{reverse_string1(s)}\n{' '*3}b. 索引下标逆序遍历:{reverse_string2(s)}\n{' '*3}c. 负整数索引遍历:{reverse_string3(s)}\n{' '*3}d. Python专属特技切片逆序复制:{reverse_string4(s)}")
题目描述
#4、编写一个函数find_max_min, 接受一个列表作为参数,返回列表中最大和最小元素的元组。例如,对于列表[4, 2, 9, 6, 1],函数应该返回(9,1) 。
def find_max_min(lis):
mymax = mymin = lis[0] # 最大值、最小值初值都设列表第一个元素。
for i in lis:
if i > mymax:
mymax = i
elif i < mymin:
mymin = i
return mymax, mymin
def find_max_min2(lis):
return max(lis), min(lis)
if __name__ == '__main__':
lis = [4, 2, 9, 6, 1]
print(f"\n4、输出:\n{' '*3}a. 遍历查找(一般写法):{find_max_min(lis)}\n{' '*3}b. 直接上max、min函数:{find_max_min2(lis)}")
题目描述
遍历字符串统计python代码
def count_vowels(s):
vowels = list('aoeiu')
return sum([1 for i in s if i.lower() in vowels])
if __name__ == '__main__':
s1 = "Hello, World!"
s2 = "I'm a old man. my name is DreamElf_cq, I live in Chongqing. I love Python."
print(f"\n5、输出:\n{' '*3}样例a\n{' '*3}{count_vowels(s1)} vowels of “{s1}”\n{' '*3}样例b\n{' '*3}{count_vowels(s2)} vowels of “{s2}”")
遍历元音字母用str.count方法统计
def count_vowels2(s):
vowels = 'aoeiu'
return sum([s.lower().count(i) for i in vowels])
(源码较长,点此跳过源码)
#!/sur/bin/nve python
# coding: utf-8
#1、编写一个函数calculate_average, 接受一个列表作为参数,计算列表中所有元素的平均值,并返回结果。例如,对于列表.[1, 2, 3, 4, 5],函数应该返回3.0。
def calculate_average1(lis):
count = 0
for i in lis:
count += i
return count/len(lis)
def calculate_average2(lis):
return sum(lis)/len(lis)
if __name__ == '__main__':
lis = [1, 2, 3, 4, 5]
print(f"\n1、输出:\n{' '*3}a. 遍历列表计算总和:{calculate_average1(lis)}\n{' '*3}b. 用sum函数计算列表总和:{calculate_average2(lis)}")
#2、编写-一个函数is_prime, 接受一个整数作为参数,判断该整数是否为素数(只能被1和自身整除的数)。 如果是素数,返回True,否则返回False。
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if not num%i:
return False
return True
if __name__ == '__main__':
print(f"\n2、输出:\n{' '*3}100以内的素数:{', '.join(map(str, [i for i in range(100) if is_prime(i)]))}")
#3、编写一个函数reverse_string, 接受一个字符串作为参数,并返回该字符串的反转形式。例如,对于字符串"Hello, World!",函数应该返回"!dlroW ,olleH"。
def reverse_string1(s):
result = []
for i in s:
result.insert(0, i)
return ''.join(result)
def reverse_string2(s):
result = ''
for i in range(len(s)-1, -1, -1):
result += s[i]
return result
def reverse_string3(s):
result = ''
for i in range(1, len(s)+1):
result += s[-1*i]
return result
def reverse_string4(s):
return s[::-1]
if __name__ == '__main__':
s = "Hello, World!"
print(f"\n3、输出:\n{' '*3}a. 用list.insert方法反转:{reverse_string1(s)}\n{' '*3}b. 索引下标逆序遍历:{reverse_string2(s)}\n{' '*3}c. 负整数索引遍历:{reverse_string3(s)}\n{' '*3}d. Python专属特技切片逆序复制:{reverse_string4(s)}")
#4、编写一个函数find_max_min, 接受一个列表作为参数,返回列表中最大和最小元素的元组。例如,对于列表[4, 2, 9, 6, 1],函数应该返回(9,1) 。
def find_max_min(lis):
mymax = mymin = lis[0] # 最大值、最小值初值都设列表第一个元素。
for i in lis:
if i > mymax:
mymax = i
elif i < mymin:
mymin = i
return mymax, mymin
def find_max_min2(lis):
return max(lis), min(lis)
if __name__ == '__main__':
lis = [4, 2, 9, 6, 1]
print(f"\n4、输出:\n{' '*3}a. 遍历查找(一般写法):{find_max_min(lis)}\n{' '*3}b. 直接上max、min函数:{find_max_min2(lis)}")
#5、编写一个函数count_vowels, 接受一个字符串作为参数,统计字符串中元音字母(大小写不敏感)的数量,并返回结果。例如,对于字符串"Hello, World!", 函数应该返回3。
def count_vowels(s):
vowels = 'aoeiu'
return sum([1 for i in s if i.lower() in vowels])
def count_vowels2(s):
vowels = 'aoeiu'
return sum([s.lower().count(i) for i in vowels])
if __name__ == '__main__':
s1 = "Hello, World!"
s2 = "I'm a old man. my name is DreamElf_cq, I live in Chongqing. I love Python."
print(f"\n5、输出:\n\n{' '*3}样例a\n{' '*3}{count_vowels(s1)} vowels of “{s1}”\n\n{' '*3}样例b\n{' '*3}{count_vowels2(s2)} vowels of “{s2}”")
我的HOT博:
本次共计收集 246 篇博文笔记信息,总阅读量 40.46w,平均阅读量 1644。已生成 16 篇阅读量不小于 4000 的博文笔记索引链接。数据采集于 2023-10-12 05:41:03 完成,用时 4 分 41.10 秒。
精品文章:
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
CSDN实用技巧博文: