Python基础练习题100例(Python3.x)
1:题⽬:有四个数字:1、2、3、4,能组成多少个互不相同且⽆重复数字的三位数?各是多少?
程序分析:可填在百位、⼗位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满⾜条件的排列。
程序源代码:
1for i in range(1, 5):
2for j in range(1, 5):
3for k in range(1, 5):
4if (i != k) and (i != j) and (j != k):
5print(i, j, k)
View Code
以上实例输出结果为:
1 1
2 3
2 1 2 4
3 1 3 2
4 1 3 4
5 1 4 2
6 1 4 3
7 2 1 3
8 2 1 4
9 2 3 1
10 2 3 4
11 2 4 1
12 2 4 3
13 3 1 2
14 3 1 4
15 3 2 1
16 3 2 4
17 3 4 1
18 3 4 2
19 4 1 2
业务数据库是什么20 4 1 3
21 4 2 1
22 4 2 3
23 4 3 1
24 4 3 2
View Code
2:题⽬:企业发放的奖⾦根据利润提成。利润(I)低于或等于10万元时,奖⾦可提10%;利润⾼于10万元,低于20万元时,低于10万元的部分按10%提成,⾼于10万元的
部分,可提成7.5%;20万到40万之间时,⾼于20万元的部分,可提成5%;40万到60万之间时⾼于40万元的部分,可提成3%;60万到100万之间时,⾼于60万元的部分,
可提成1.5%,⾼于100万元时,超过100万元的部分按1%提成,从键盘输⼊当⽉利润I,求应发放奖⾦总数?
程序分析:请利⽤数轴来分界,定位。注意定义时需把奖⾦定义成长整型。
程序源代码:
1 i = int(input('净利润:'))
2 arr = [1000000,600000,400000,200000,100000,0]
3 rat = [0.01,0.015,0.03,0.05,0.075,0.1]
4 r = 0
5for idx in range(0,6):
6if i>arr[idx]:
7        r+=(i-arr[idx])*rat[idx]
8print ((i-arr[idx])*rat[idx])
9        i=arr[idx]
10print(r)
View Code
以上实例输出结果为:
1净利润:120000
2 1500.0
3 10000.0
4 11500.0
View Code
3:题⽬:⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完全平⽅数,请问该数是多少?
textarea音标
程序分析:
假设该数为 x。
1、则:x + 100 = n2, x + 100 + 168 = m2
2、计算等式:m2 - n2 = (m + n)(m - n) = 168
3、设置: m + n = i,m - n = j,i * j =168,i 和 j ⾄少⼀个是偶数
4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
5、从 3 和 4 推导可知道,i 与 j 均是⼤于等于 2 的偶数。
6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。
7、接下来将 i 的所有数字循环计算即可。
程序源代码:
1for i in range(1,85):
2if 168 % i == 0:
3        j = 168 / i;
4if  i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 :
5            m = (i + j) / 2
6            n = (i - j) / 2
7            x = n * n - 100
8print(x)
View Code
以上实例输出结果为:
1 -99.0
2 21.0
3 261.0
4 1581.0
View Code
4:题⽬:输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?
程序分析:以3⽉5⽇为例,应该先把前两个⽉的加起来,然后再加上5天即本年的第⼏天,特殊情况,闰年且输⼊⽉份⼤于2时需考虑多加⼀天:
程序源代码:
1 year = int(input('year:\n'))
2 month = int(input('month:\n'))
3 day = int(input('day:\n'))
4
5 months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
6if 0 < month <= 12:
7    sum = months[month - 1]
8else:
9print('data error')
10 sum += day
直播:英格兰vs美国11 leap = 0
12if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
13    leap = 1
14if (leap == 1) and (month > 2):
15    sum += 1
16print('It is the %dth day in the year.' % sum)
View Code
以上实例输出结果为:
1 year:
2 2018
3 month:
4 3
5 day:
6 23
7 It is the 82th day in the year
View Code
5:题⽬:输⼊三个整数x,y,z,请把这三个数由⼩到⼤输出。
程序分析:我们想办法把最⼩的数放到x上,先将x与y进⾏⽐较,如果x>y则将x与y的值进⾏交换,然后再⽤x与z进⾏⽐较,如果x>z则将x与z的值进⾏交换,这样能使x最⼩。
程序源代码:
1 l = []
2for i in range(3):
3    x = int(input('Please input sorted number:\n'))
4    l.append(x)
5 l.sort()
6print(l)
View Code
以上实例输出结果为:
1 Please input sorted number:
2 1
3 Please input sorted number:
4 20
5 Please input sorted number:
6 5
7 [1, 5, 20]
View Code
6:题⽬:斐波那契数列。
程序分析:斐波那契数列(Fibonacci sequence),⼜称黄⾦分割数列,指的是这样⼀个数列:0、1、1、2、3、5、8、13、21、34、……。在数学上,费波那契数列是以递归的
⽅法来定义:
程序源代码:
⽅式⼀:
1def fib(n):
2    a, b = 1, 1
3for i in range(n - 1):
4        a, b = b, a + b
5return a
6
7
8# 输出了第10个斐波那契数列
9print(fib(10))
View Code
⽅式⼆:
1# 使⽤递归
2def fib(n):
3if n == 1 or n == 2:
4return 1
5return fib(n - 1) + fib(n - 2)
6
7
8# 输出了第10个斐波那契数列
9print(fib(10))
View Code
以上实例输出结果均为:
1 55
View Code
⽅式三:
1def fib(n):
2if n == 1:
3return [1]
4if n == 2:
5return [1, 1]
6    fibs = [1, 1]
7for i in range(2, n):
8        fibs.append(fibs[-1] + fibs[-2])
9return fibs
10
11# 输出前 10 个斐波那契数列
12print(fib(10))
View Code
以上实例输出结果为:
1 [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
View Code
7:题⽬:将⼀个列表的数据复制到另⼀个列表中。程序分析:使⽤列表[:]。
程序源代码:
1 a = [1, 2, 3]
2 b = a[:]
3print (b)
View Code
以上实例输出结果为:
1 [1, 2, 3]
View Code
8:题⽬:输出 9*9 乘法⼝诀表。
程序分析:分⾏与列考虑,共9⾏9列,i控制⾏,j控制列。
python基础代码练习
程序源代码:
1for i in range(1, 10):
2for j in range(1, i + 1):
3        mul = i * j;
screened4if mul < 10:
5print(str(j) + "x" + str(i) + "=" + str(mul), end="");
6else:
7print(str(j) + "x" + str(i) + "=" + str(mul), end="");
8print();
View Code
以上实例输出结果为:
1 1x1=1
2 1x2=2  2x2=4
3 1x3=3  2x3=6  3x3=9
4 1x4=4  2x4=8  3x4=12  4x4=16
5 1x5=5  2x5=10  3x5=15  4x5=20  5x5=25
6 1x6=6  2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
7 1x7=7  2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
session对象仅有一个方法就是
8 1x8=8  2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
9 1x9=9  2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81  View Code
9:题⽬:暂停⼀秒输出。
程序分析:使⽤ time 模块的 sleep() 函数。
程序源代码:
1import time

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。