1,打印99乘法表
(1)使用for循环
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}\t'.format(j, i, i*j), end='')
print()
结果展示:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
(2)使用while循环
i = 1
while i <= 9:
j = 1
while(j <= i): # j的大小是由i来控制的
print('%d*%d=%-3d' % (i, j, i*j), end='\t')
j += 1
print('')
i += 1
结果展示:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
2,判断100-200之间有多少个素数,并输出所有素数
for i in range(100,200):
a=2
while a<i: #
if i%a==0:break
else:a=a+1
if a==i:
print(i)
结果展示:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
3,打印出100~999所有的"水仙花数"
水仙花数:指一个三位数,其各位数字立方和等于该数本身
count = 0
for i in range(100, 1000):
f = i
# 提取百位数
a = int(f / 100)
# 提取十位数
f -= a*100
b = int(f / 10)
# 提取个位数
c = f - b*10
# 判断是否是水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
count += 1
print("共有 %d 个水仙花数" % count)
结果展示:
153
370
371
407
共有 4 个水仙花数
4,斐波那契数列
斐波那契数列:又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
# 获取用户输入数据
nterms = int(input("输入你需要斐波那契数列的个数:10"))
# 第一和第二项
n1 = 0
n2 = 1
count = 2
# 判断输入的值是否合法
if nterms <= 0:
print("请输入一个正整数。")
elif nterms == 1:
print("斐波那契数列:")
print(n1)
else:
print("斐波那契数列:")
print(n1,",",n2,end=" , ")
while count < nterms:
nth = n1 + n2
print(nth,end=" , ")
# 更新值
n1 = n2
n2 = nth
count += 1
结果展示:
输入你需要斐波那契数列的个数:10
斐波那契数列:
0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 ,
5,输入年月日,判断这一天是这一年的第几天
注意:闰年的2月有29天,平年的2月有28天
year = input("请输入您想要查询的年份:")
month = input("请输入您想要查询的月份:")
day = input("请输入您想要查询的日期:")
year = int(year)
month = int(month)
day = int(day)
months = (0,31,59,90,120,151,181,212,243,273,304,334)
if 0 < month <= 12:
sum = months[month - 1]
else:
print ('data error')
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
leap = 1
if (leap == 1) and (month > 2):
sum += 1
print ('%d' % sum)
结果展示:
请输入您想要查询的年份:2021
请输入您想要查询的月份:6
请输入您想要查询的日期:1
152