1.求100(含100)以内所有偶数的和
range(start,end,step)这个序列生成器,和那个切片的语法一样,含头不含尾,step是步长,这里就不需要在对j进行判断了,对于这些简单求奇数和、求偶数和,就n的倍数和等等就可以这样做
for j in range(0,101,2):
s = s + j
print(s) # 2550
1
2
3
2.打印99乘法表
用于理解循环的使用
for i in range(1,10):
for j in range(1,i+1):
print(f’{j}{i}={ij}’,end=’\t’)
print()
“”"
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81
“”"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
3.求第n位斐波那契数
这是求第n位斐波那契数,大家可以尝试多种方法做,我这就不做多的演示了,要是求n(包含n)位前所有斐波那契数了,创建一个列表保存一下就好,希望大家可以去做一下,加深对列表方法的使用
n = int(input(‘请输入你要求第几位斐波那契数:’))
a = 0
b = 1
for i in range(n):
# c = a
# a = b
# b = c + b
# 上里三式可以简写为:
a,b = b,a+b
print(a)
1
2
3
4
5
6
7
8
9
10
11
12
4.百马百担
一匹大马能背3担货,一匹中马能背2担货,两匹小马能背1担货,如果用一百匹马背一百担货,有哪些不同的背法
for i in range(34): # i代表大马的匹数
for j in range(51): # j代表中马的匹数
if i3+j2+(100-i-j)/2 == 100:
print(f’大马={i},中马={j},小马={100-i-j}’)
1
2
3
4
5
6
7
8
9
10
11
5.求水仙花数
我这定义了一个函数去求n位数的水仙花数,不过水仙花数就是100-1000内个位十位百位3次方的和等于本身的数,我那只是类推一下,当然也可以不定义函数,直接使用input输入一个n或者直接给定n的值
def get_Narcissistic(n):
for i in range(pow(10,n-1),pow(10,n)):
s = 0
for j in range(n):
s = s+pow(i//10**j%10,n)
if i==s:
print(i)
get_Narcissistic(3)
1
2
3
4
5
6
7
8
9
10
11
12
6.求n以内的所有质数(素数)和
质数:只能被1和自身整除的数
n = int(input(‘请输入一个大于或等于2的正整数:’))
for i in range(2,n+1):
for j in range(2,int(i**0.5)+1):# 只用循环到i的平方根就好减少循环次数,提高效率
if i%j == 0:
break # 只要有一个整除就跳出循环
else: # 只有上面循环完,flag还等于True才会打印i
print(i,end=’\t’)# 显示在一行
集合的使用
-集合也是用{}包裹起来的,集合是一个不重复的无序的,所有集合一般用来去重操作的
-注意:空集合使用set()表示,{}表示空字典
persons = {‘zhangsan’, ‘lisi’, ‘jack’, ‘lisi’, ‘jack’, ‘wangwu’, ‘maliu’}
print(persons) # {‘zhangsan’, ‘wangwu’, ‘jack’, ‘maliu’, ‘lisi’}
persons.add(‘李白’) # 添加一个元素,但位置不确定,所有你们运行的答案和我的一样但是顺序不一样
print(persons)# {‘zhangsan’, ‘wangwu’, ‘jack’, ‘maliu’, ‘lisi’, ‘李白’}
persons.pop()# 随机删除一个元素,你们运行的答案应该和我的应该不一样
print(persons) # {‘wangwu’, ‘zhangsan’, ‘李白’, ‘jack’, ‘maliu’}
persons.remove(‘李白’)# 删除一个指定的元素,没有的话会报错
print(persons) # {‘wangwu’, ‘zhangsan’, ‘jack’, ‘maliu’}
persons.update((‘刘能’,‘赵四’))
print(persons)# {‘刘能’, ‘wangwu’, ‘zhangsan’, ‘赵四’, ‘jack’, ‘maliu’}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
python里的集合也是有交集并集差集一说的,当然交集并集差集也是可以用字典的方法来表示的,这里我就不演示了,我感觉直接用符号简单一点,要了解的话也可以查看一下帮助文档
一些公关方法
print(‘hello’ + ‘world’)# ‘helloworld’
print([1, 2, 3] + [4, 5, 6])# [1, 2, 3, 4, 5, 6]
print((1, 2, 3) + (4, 5, 6))# (1, 2, 3, 4, 5, 6)
print({1,2,3}-{3})# {1, 2}
print(‘hello’*3)# ‘hellohellohello’
print([1,2,3]*3)# [1, 2, 3, 1, 2, 3, 1, 2, 3]
print((1,2,3)*3)# (1, 2, 3, 1, 2, 3, 1, 2, 3)
print('a’in ‘abc’)# True
print(1 in[1,2,3])# True
print(1 in (1,2,3))#True
print('zhangsan’in{‘name’:‘zhangsan’,‘age’:18})# False
print('name’in{‘name’:‘zhangsan’,‘age’:18})# True