Python学习第六天

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 函数要求传入一个函数作为参数,而不是调用一个函数,这个函数将用于判断过滤条件,所以直接传入函数名即可。同时,.isalnumstr 类型自带的一个方法,所以要使用 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)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值