python练习案例-01

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
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓之以理的喵~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值