目录
1、生成一个列表,列表元素分别为[1**1 2**2 3**3 ... 9**9]
列表生成式里,还可以用if进行条件选择
2、生成一个列表,找出1-10内的偶数
3、生成一个列表,显示,a1,a2,a3,b1,b1,,,,c3
列表生成式里还可以用函数进行表达
4、找出1~10之间的所有偶数.并且返回一个列表(包含以这个偶数为半径的园的面积)
5、用函数和列表表达式找出1-100内的所有素数
6、(2018-腾讯-在线编程题)- 题目描述:给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))# [2,3,5,7]- 输入描述:输入包括一个整数n,(3 ≤ n < 1000)- 输出描述:输出对数- 示例1 :输入: 10输出: 2
思路:
先写出判断素数的函数,并且找出所有的素数然后存到一个列表里
判断哪两个质数之和等于输入的数字,需要注意的是,有的两个一样的质数之和如果等于输入的数字,就会计算两遍
7、列表的字符串的大写改成小写,不是字符串的去掉
8、找出/var/log目录中,所有以.log结尾的文件名或者目录名
9、判断2-num之间有多少个质数
1、生成一个列表,列表元素分别为[1**1 2**2 3**3 ... 9**9]
之前,就会这样子解题:
l = []
for i in range(1, 10):
l.append(i ** i)
print(l)
用列表生成式
print([i ** i for i in range(1, 10)])
列表生成式里,还可以用if进行条件选择
2、生成一个列表,找出1-10内的偶数
方法1:
print([i for i in range(1, 11) if i % 2 == 0])
方法2:
print([i for i in range(2, 11, 2)])
3、生成一个列表,显示,a1,a2,a3,b1,b1,,,,c3
print([i + j for i in 'abc' for j in '123'])
列表生成式里还可以用函数进行表达
4、找出1~10之间的所有偶数.并且返回一个列表(包含以这个偶数为半径的园的面积)
import math
方法1:
print([math.pi * i * i for i in range(1, 11) if i % 2 == 0])
方法2:用函数进行解答
def square(r):
res = math.pi * r * r
return res
print([square(i) for i in range(2, 11, 2)])
5、用函数和列表表达式找出1-100内的所有素数
def find(num):
for i in range(2, num):
if num % i == 0:
return False
else:
return True
print([p for p in range(2, 101) if find(p)])
6、(2018-腾讯-在线编程题)
- 题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输
入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
# [2,3,5,7]
- 输入描述:
输入包括一个整数n,(3 ≤ n < 1000)
- 输出描述:
输出对数
- 示例1 :
输入:
10
输出:
2
思路:
先写出判断素数的函数,并且找出所有的素数然后存到一个列表里
判断哪两个质数之和等于输入的数字,需要注意的是,有的两个一样的质数之和如果等于输入的数字,就会计算两遍
def isprime(num): #该函数的作用是,判断一个数字是否是质数
for i in range(2, num):
if num % i == 0:
return False
elif num == 2:
return True
else:
return True
list = [i for i in range(2, 1000) if isprime(i)] #将1-1000的质数存入到列表里
n = int(input("输入:"))
num = 0
for i in list:
if n - i in list and i <= n - i: #进行题目的判断
num += 1 #根据质数1+质数2=输入的数 可以想到两种算法
print('输出:') #在这里我用了最简单的一种,就是判断number-质数的值
print(num) #是否在列表里存在,此时只需要一个循环
7、列表的字符串的大写改成小写,不是字符串的去掉
li = ['hello','Wrold',16,17,18,12.3,False,'Apple']
思路:先进行判断,所有的元素是否是字符串,然后进行小写的转换
s = ['hello','Wrold',16,17,18,12.3,False,'Apple']
s1=[ i.lower() for i in s if isinstance(i,str)]
#instance(i,str) 用来判断i是否是字符串,是的话返回True
print(s1)
8、找出/var/log目录中,所有以.log结尾的文件名或者目录名
思路:调用os模块,列出目录下的文件名字,然后用endswith找出以.log结尾的文件
import os
print([filename for filename in os.listdir('/var/log') if filename.endswith('.log')])
9、判断2-num之间有多少个质数
num=int(input("请输入数字:"))
def find(num):
for i in range(2,num):
if num%2==0:
return False
else:
return True
print(len([ i for i in range(2,num+1) if (find(i))]))
#用len计算列表的长度