1、判断是否为质数 -》只能能被 1 和自身 整除的数据, 不能被其它数据整除
def is_zhi(num):is_prime = Trueif num < 1:is_prime = Falseelif num == 2:is_prime = Trueelse:print('=num==', int(num**0.5))for i in range(2, int(num**0.5) + 1):print('==i=', i)if num % i == 0:is_prime = Falsebreakreturn is_prime
2、斐波那契数列
f_a = 0
f_b = 1
def my_fb(n):f_a = 0f_b = 1count = 0list = []while count < n:print(f_a, end=" ")list.append(f_a)f_a, f_b = f_b, f_a + f_bcount += 1print('=list==', list)sum_count = sum(list)print('==sum_count=', sum_count)
my_fb(10)
3、判断是偶数还是奇数
def is_ouji(num):if num % 2 == 0:print(f'{num} 是偶数')else:print(f'{num} 是奇数')
is_ouji(5)
is_ouji(6)
4、判断列表中最大值和最小值
numbers = [3, 5, 1, 9, 2]
max_value = max(numbers)
min_value = min(numbers)
print(f'最大值是: {max_value}, 最小值是: {min_value}')
5、计算一个数的阶乘
def my_factorial(n):if n < 0:return "阶乘未定义负数"elif n == 0 or n == 1:return 1else:result = 1for i in range(2, n + 1):result *= ireturn result
6、回文判断
def is_palindrome(s):s = s.replace(" ", "").lower()return s == s[::-1]
7、计算 字符串中 字母出现次数
def count_letters(s):s = s.lower()letter_count = {}for char in s:if char.isalpha():if char in letter_count:letter_count[char] += 1else:letter_count[char] = 1for letter, count in letter_count.items():print(f"字母 '{letter}' 出现了 {count} 次")return letter_count
8、判断年份是否为闰年
def is_leap_year(year):if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print(f'{year} 是闰年')return Trueelse: print(f'{year} 不是闰年')return Falseis_leap_year(2020)
9、计算列表中所有数字的平均值
def calculate_average(numbers):if len(numbers) == 0:return 0total = sum(numbers)average = total / len(numbers)return average
avg_numbers = [10, 20, 30, 40, 50]
avg = calculate_average(avg_numbers)
print(f'平均值是: {avg}')
10、生成指定范围内的随机数列表
import randomdef generate_random_numbers(count, start, end):random_numbers = [random.randint(start, end) for _ in range(count)]return random_numbers
random_list = generate_random_numbers(5, 1, 100)
print(f'5个随机数列表: {random_list}')
11、使用 推导式 生成 1-10 的平方 一个列表
squared_numbers = [x**2 for x in range(1, 11)]
print(f'平方列表: {squared_numbers}')
12、计算 1- 100 所有整数的和
def sum_1_to_100():n = 100total1 = n * (n + 1) // 2print(f'方法一,1到100的和是: {total1}')total2 = sum(range(1, 101))print(f'方法二,1到100的和是: {total2}')
sum_1_to_100()
13、获取字典中的 最大值 和 最小值 以及对应的键
def dict_max_min(d):if not d:return None, None, None, Nonemax_key = max(d, key=d.get)min_key = min(d, key=d.get)max_value = d[max_key]min_value = d[min_key]print(f'最大值是: {max_value}, 对应的键是: {max_key}')print(f'最小值是: {min_value}, 对应的键是: {min_key}')return max_key, max_value, min_key, min_value
14、求列表中的 中位数字
def calculate_median(numbers):sorted_numbers = sorted(numbers)n = len(sorted_numbers)mid = n // 2if n % 2 == 0:median = (sorted_numbers[mid - 1] + sorted_numbers[mid]) / 2else:median = sorted_numbers[mid]print(f'中位数是: {median}')return median
15、查找列表中的第二大数字
def find_second_largest(numbers):unique_numbers = list(set(numbers)) if len(unique_numbers) < 2:return None unique_numbers.sort(reverse=True) second_largest = unique_numbers[1]print(f'第二大数字是: {second_largest}')return second_largest
def find_second_largest_v2(numbers):if len(numbers) < 2:return None first_largest = max(numbers)numbers.remove(first_largest)second_largest = max(numbers)print(f'第二大数字是: {second_largest}')return second_largest