python练习题

Posted 2018jason

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python练习题相关的知识,希望对你有一定的参考价值。

 1 ‘‘‘
 2 有四个数字:1、2、3、4,能组成多少互相不相同且无重复数字的三位数?各是多少?
 3 ‘‘‘
 4 number_char_4 = [1, 2, 3, 4]
 5 numbers = []
 6 for number_one in number_char_4:
 7     # 这里必须使用副本
 8     number_char_3 = number_char_4[:]
 9     number_char_3.remove(number_one)
10     for number_two in number_char_3:
11         number_char_2 = number_char_3[:]
12         number_char_2.remove(number_two)
13         for number_three in number_char_2:
14             number_char = number_one + number_two + number_three
15             numbers.append(int(number_char))
16 
17 print(共有{}组互相不相同且无重复数字的三位数。.format(len(numbers)))
18 print(这些数分别是: )
19 count = 0
20 for num in numbers:
21     print(num, end= )
22     count += 1
23     if count % 6 == 0:
24         print()

结果

共有24组互相不相同且无重复数字的三位数。
这些数分别是: 
123 124 132 134 142 143 
213 214 231 234 241 243 
312 314 321 324 341 342 
412 413 421 423 431 432 

 

 1 ‘‘‘
 2 有四个数字:1、2、3、4,能组成多少互相不相同且无重复数字的三位数?各是多少?
 3 ‘‘‘
 4 numbers = []
 5 for i in range(1, 5):
 6     for j in range(1, 5):
 7         for k in range(1, 5):
 8             if (i != j) and (j != k) and (i != k):
 9                 number = i * 100 + j * 10 + k
10                 numbers.append(number)
11 
12 print(共有{}组互相不相同且无重复数字的三位数。.format(len(numbers)))
13 print(这些数分别是: )
14 count = 0
15 for num in numbers:
16     print(num, end= )
17     count += 1
18     if count % 6 == 0:
19         print()

第二题

 1 ‘‘‘
 2 企业发放的奖金根据利润(I)低于或等于10万元时,奖金可提10%;
 3 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的不封,可提成7.5%;
 4 20万到40万之间时,高于20万元的部分,可提成5%;
 5 40万到60万之间时高于40万的部分,可提成3%;
 6 60万到100万元的部分按1%提成。
 7 从键盘输入当月利润I,求应发奖金总数
 8 ‘‘‘
 9 count = [1000000, 600000, 400000, 200000, 100000, 0]
10 ratio = [0, 0.01, 0.03, 0.05, 0.075, 0.1]
11 i = int(input(请输入你的利润(单位:元): ))
12 result = 0
13 for n in range(len(count)):
14     if i > count[n]:
15         result += (i - count[n]) * ratio[n]
16         i = count[n]
17 print(你的奖金为: + str(result) + )

结果

请输入你的利润(单位:元): 210000
你的奖金为:18000.0元

第三题

 1 ‘‘‘
 2 输入三个整数x,y,z,请把这三个数由小到大输出
 3 ‘‘‘
 4 numbers = []
 5 for i in range(3):
 6     numbers.append(eval(input(输入一个数:)))
 7 print(这三个数从小到大依次为:)
 8 n = 1
 9 for i in sorted(numbers):
10     print(i, end=‘‘)
11     if n < len(numbers):
12         print( < , end=‘‘)
13     n += 1

结果

输入一个数:3
输入一个数:3.3
输入一个数:2
这三个数从小到大依次为:
2 < 3 < 3.3

第四题

1 ‘‘‘
2 将一个列表的数据复制到另一个列表中
3 ‘‘‘
4 a = [1, 2, 3]
5 b = a[:]
6 print(b)

结果

[1, 2, 3]

第五题

 1 ‘‘‘
 2 时间库。
 3 
 4 ‘‘‘
 5 
 6 import time
 7 
 8 # 返回当前时间的时间戳
 9 now_time = time.time()
10 print(当前的时间戳为:, now_time)
11 # 接受时间戳,返回当地时间下的时间元组
12 now_time = time.localtime(now_time)
13 print(当地时间下的时间元组为:, now_time)
14 # 接受时间元组,返回可读字符串表示的当前时间
15 now_time = time.strftime(%Y-%m-%d %H:%M:%S, now_time)
16 print(当前时间是:, now_time)
17 # 休眠1秒
18 time.sleep(1)
19 print(当前时间是:,time.strftime(%Y-%m-%d %H:%M:%S, time.localtime(time.time())))

结果

当前的时间戳为: 1542778354.7217052
当地时间下的时间元组为: time.struct_time(tm_year=2018, tm_mon=11, tm_mday=21, tm_hour=13, tm_min=32, tm_sec=34, tm_wday=2, tm_yday=325, tm_isdst=0)
当前时间是: 2018-11-21 13:32:34
当前时间是: 2018-11-21 13:32:35

第六题

 1 ‘‘‘
 2 打印出所有的“水仙花数”
 3 所谓“水仙花数”是指一个三位数,其个位数字立方和等于该数本身
 4 例如:153是一个“水仙花数”,应为153=1**3+5**3+3**3
 5 ‘‘‘
 6 for x in range(1, 10):
 7     for y in range(0, 10):
 8         for z in range(0, 10):
 9             s1 = x * 100 + y * 10 + z
10             s2 = x**3 + y**3 + z**3
11             if s1 == s2:
12                 print(s1)

结果

153
370
371
407

第七题

 1 ‘‘‘
 2 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数
 3 ‘‘‘
 4 char = input(请输入一行字符:)
 5 alpha = 0
 6 space = 0
 7 digit = 0
 8 other = 0
 9 for c in char:
10     if c.isalpha():
11         alpha += 1
12     elif c.isspace():
13         space += 1
14     elif c.isdigit():
15         digit += 1
16     else:
17         other += 1
18 print(你输入的字符串中,英文字母{}个,空格{}个,数字{}个,其他字符{}个.format(alpha, space, digit,
19                                                     other))

结果

请输入一行字符:sdgfaskl;[email protected]@#
你输入的字符串中,英文字母11个,空格0个,数字20个,其他字符4个

第八题

 1 ‘‘‘
 2 一球从100米高度自由落下,每次落地后,反跳回原高度的一半;
 3 再次落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
 4 
 5 ‘‘‘
 6 height = 100
 7 result = height
 8 for _ in range(10):
 9     result += height
10     height /= 2
11 print(共经过了,height,)
12 print(第10次反弹了,result,)

结果

共经过了 0.09765625 米
第10次反弹了 299.8046875 米

第九题

 1 ‘‘‘
 2 利用递归求5!
 3 ‘‘‘
 4 
 5 
 6 def factorial(n):
 7     if n == 1:
 8         return 1
 9     else:
10         return n * factorial(n - 1)
11 
12 
13 print(factorial(5))

结果

120

第十题

1 # 生成0-9组成的字符串
2 ‘‘.join([str(n) for n in range(10)])

结果

0123456789

第十一题

1 ‘‘‘
2 在字典中找到年龄最大的人,并输出
3 ‘‘‘
4 people = {zhangsan: 19, lisi: 12, wangwu: 52, zhaoliu: 30}
5 max_age = max(list(people.values()))
6 print(max_age)
7 for key in people.keys():
8     if people[key] == max_age:
9         print(年龄最大的人是,key)

结果

52
年龄最大的人是 wangwu

 

以上是关于python练习题的主要内容,如果未能解决你的问题,请参考以下文章

Python matplotlib 基础练习:画出正弦曲线等

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

csharp Epicor标准练习片段