1、判断一个数是否是素数
【思路:素数:只能被1和它本身整除的数】
def check_prime(num):
for i in range (3,num+1):
for j in range(2,i):
if i % j == 0:
f = -1
break
else:
f = 1
if f == -1:
return False
else:
return True
# 输入一个整数
number = int(input())
# 调用函数
print(check_prime(number))
2、 编写一个程序来求一个给定数字的所有因数
定义函数find_all_factors(),参数为num。
在函数内部,返回一个列表,列表中的数字是输入数字num的所以因数。
如果输入数字小于1,则返回一个空列表。 返回列表中的数字需要从小到大排序。
【思路:因数:一个数字的因数是能整除这个数字的数字,如8的因数有1、2、4、8。
先将一整串数字一个一个拆分,如果能被整除,则添加到列表中】
def reverse_number_digits(num):
li = []
s = 0
for i in range(num):
if num > 0:
s = num % 10 #获取每一位的值
num = num // 10
li.append(s)
else:
break
return li
# 获取用户输入
num = int(input())
# 调用函数
print(reverse_number_digits(num))
3、编写一个程序,用于在一组整数中找出唯一的数字。假设列表中只有一个唯一的数字。
# 定义函数find_unique_number(),参数为num_list,数字列表。
# 在函数内部,找出只出现一次的数字,并返回它。
# 如果列表只有一个数字,则返回该数字。 # 如果列表为空,则返回None。
# 如果不存在这样的数字,则返回None。
【思路:可以使用Python中的Counter类来实现这个功能。 Counter类可以用来计算一个列表中每个元素出现的次数。 我们可以遍历一遍列表,使用Counter类来计算每个数字出现的次数, 然后再遍历一遍列表,找到只出现一次的数字并返回它。
】
from collections import Counter
def find_unique_number(num_list):
if len(num_list) == 1:
return num_list[0]
elif len(num_list) == 0:
return None
else:
count = Counter(num_list)
for num in num_list:
if count[num] == 1:
return num
return None
# 将输入的整数转换为列表
numbers = list(map(int, input().split()))
# 调用函数
print(find_unique_number(numbers))
4、编写一个Python程序来确定字符串中的所有字符是否相同。
定义函数
is_string_identical()
,参数为text_string
(字符串)。在函数内,如果字符串中的所有字符都相同,则返回
True
,否则返回False
。【思路】:可以通过将字符串转换为集合(set)来判断所有字符是否相同。 如果集合的长度为1,则说明所有字符都相同。
具体实现方法如下: def all_chars_same(s):
return len(set(s)) == 1
其中,set(s)将字符串s转换为集合, len()函数返回集合的长度,如果长度为1,则说明所有字符都相同
def is_string_identical(text_string):
return len(set(text_string)) == 1
# 获取输入
text_string = input()
# 调用函数
print(is_string_identical(text_string))
5、编写一个Python程序,找出列表中第n小的整数。
定义函数
find_nth_smallest()
,该函数接受整数列表numbers_list
和整数n
作为参数。在函数内部,返回列表中第
n
小的整数。如果
n
大于列表的长度,则返回None
。
import heapq
def find_nth_smallest(numbers_list, n):
if n > len(numbers_list):
return None
else:
return heapq.nsmallest(n,numbers_list)[-1]
# 将输入的整数转换为列表
numbers_list = list(map(int, input().split()))
# 获取n的输入
n = int(input())
# 调用函数
print(find_nth_smallest(numbers_list, n))