1.写一个程序,从用户输入中读取一组整数,并将其中所有的奇数和偶数分别存入两个列表中,最后输出这两个列表。
#写一个程序,从用户输入中读取一组整数,并将其中所有的奇数和偶数分别存入两个列表中,最后输出这两个列表。
odd_list = []
even_list = [] #循环中需要直接使用,提前定义好两个列表
str_input = input('Please enter a set of integers separated by Spaces')
num_input = str_input.split() #这里列表中的数字都是str型,循环遍历中需要将其转换为int型
for i in num_input:
num = int(i)
if num % 2 == 1:
odd_list.append(num) #追加单个数据用append,追加多个用extend
else:
even_list.append(num)
print(odd_list)
print(even_list)
2.如何得到一个倒序的列表
reverse()
是一个列表(list)对象的方法,用于将列表中的元素倒序排列。它会修改原列表,而不是返回一个新的列表。reverse()
用法示例如下:
my_list = [1, 2, 3, 4, 5]
my_list.reverse()
print(my_list) # 输出 [5, 4, 3, 2, 1]
如果你想得到一个倒序的列表而不修改原列表,可以使用切片操作:
my_list = [1, 2, 3, 4, 5]
reversed_list = my_list[::-1]
print(reversed_list) # 输出 [5, 4, 3, 2, 1]
注意,这种方法返回的是一个新的列表对象。
3.filter的用法
filter()
是 Python 内置的一个高阶函数,它的作用是用于过滤序列,返回一个满足指定条件的新序列。
filter()
函数的语法如下:
filter(function, iterable)
其中,function
是一个函数,用于判断每个元素是否满足条件,iterable
是一个可迭代对象,如列表、元组、集合等。说白了就是:
filter(条件, 对象)
filter()
函数会遍历 iterable
中的每个元素,将其传入 function
函数中判断,如果返回 True
,则将该元素保留下来,否则将该元素过滤掉。
例如,我们可以使用 filter()
函数过滤出一个列表中的所有偶数:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = list(filter(lambda x: x % 2 == 0, lst))
print(result) # [2, 4, 6, 8, 10]
在上面的例子中,我们使用了 lambda
函数作为 function
参数,lambda
函数用于判断一个数是否为偶数。filter()
函数返回的是一个 filter
对象,需要使用 list()
函数将其转换为列表类型。
另外,需要注意的是,在 Python 3 中,filter()
函数返回的是一个迭代器,而不是列表,如果需要将其转换为列表,需要使用 list()
函数进行转换。
4.怎么转换大小写
lower()
是 Python 字符串对象的内置方法之一,用于将字符串中所有大写字母转换为小写字母。
upper()
方法返回一个新字符串,该字符串中的所有字母都被转换为大写形式。
例如:
s = "HeLLo WoRLd"
s_lower = s.lower()
print(s_lower) # 输出 "hello world"
5.isalnum的用法
isalnum()
是 Python 字符串的一个方法,用于检查字符串中的所有字符是否都是字母或数字。如果字符串中的所有字符都是字母或数字,则该方法返回 True
,否则返回 False
。
#检查变量 s 中的所有字符是否都是字母或数字:
s = "hello123"
if s.isalnum():
print("All characters in s are alphanumeric.")
else:
print("Some characters in s are not alphanumeric.")
6.写一个程序,接收用户输入的一个字符串,并判断这个字符串是否是回文字符串(正着读和倒着读都一样),输出判断结果。
str_input = input('Please enter your string: ')
str_input = ''.join(filter(str.isalnum, str_input)).upper()
str_reverse = str_input[::-1]
if str_input == str_reverse:
print(True)
else:
print(False)
注意 filter
中的 str.isalnum
中不需要加括号,这是因为 filter
函数要求传入一个函数作为参数,而不是调用一个函数,这个函数将用于判断过滤条件,所以直接传入函数名即可。同时,.isalnum
是 str
类型自带的一个方法,所以要使用 str.isalnum
而不是 s.isalnum
。
7. range()
range()
是 Python 中一个内置的函数,用于生成整数序列。
函数语法为:
range([start], stop[, step])
其中 start
为可选参数,表示序列起始值,默认值为 0; stop
为必选参数,表示序列结束值,不包含在序列中; step
为可选参数,表示序列步长,默认值为 1。
例如:
range(5) # 生成 0, 1, 2, 3, 4
range(1, 5) # 生成 1, 2, 3, 4
range(1, 10, 2) # 生成 1, 3, 5, 7, 9
range()
通常用于 for
循环中,例如:
for i in range(5):
print(i)
#结果为:
0
1
2
3
4
8.写一个程序,从用户输入中读取一组整数,并将其中所有的素数存入一个列表中,最后输出这个列表。
#写一个程序,从用户输入中读取一组整数,并将其中所有的素数存入一个列表中,最后输出这个列表。
num_input = input('Please enter a set of integers separated by Spaces')
#输入字符串(以空格相隔)
num_list = num_input.split()
#利用split方法将字符串转化为列表
prime_list = []
for num in num_list:
num = int(num)
#遍历num_list中的每个元素,并转化为int型
no_facor = True
#默认为素数
for a in range(2, int(num ** 0.5)+1):
if num % a == 0:
no_facor = False
break
# 素数判断,从2开始循环到根号num
if no_facor and num > 1:
prime_list.append(num)
# 如果是素数,添加到列表中
print('输出的素数有: ', prime_list)