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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python练习100例题目原链接 以下实例在Python 3.7.7下测试运行 1. 题目:有四个数字:1、2、...
    509a81d5d516阅读 391评论 0 0
  • 实例001:数字组合 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序...
    python啵啵阅读 651评论 0 0
  • 实例001:数字组合 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序...
    好好他爸爸阅读 637评论 0 3
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 996评论 0 1
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,587评论 28 53