python基础数据类型-代码小练
程序员文章站
2022-05-28 22:32:48
一:判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数, 例如: 153 = 1**3 + 5**3 + 3**3 二:给出一个纯数字列表. 请对列表进行排序(升级题). 思路: 三:完成彩票36选7的功能. 从36个数中随机的产生 ......
一:判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数, 例如: 153 = 1**3 + 5**3 + 3**3
1 while 1: 2 count= input("请您输入一个三位数,我们来判断是否是水仙花数,按q/Q退出程序:") 3 if count != 'q' and str(count) != 'Q':#如果输入q/Q,则退出程序 4 if 0 < (int(count)// 100) < 10 :#必须是三位数才能是水仙花数,通过整除100来判断是否是3位数 5 ge=int(count) % 10#个位数 6 si= int(count) //10 %10#十位数 7 bai= int(count) // 100#百位数 8 con = bai **3 + si**3+ge**3 9 if int(count) == con: #判断是否是水仙花数 10 print("%s是水仙花数" % count) 11 else : 12 print("这个数%s不是水仙花数" % count) 13 else: 14 print("滚犊子,都说了3位数,重新输入") 15 else: 16 break
二:给出一个纯数字列表. 请对列表进行排序(升级题).
思路:
- 完成a和b的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10
- 循环列表. 判断a[i]和a[i+1]之间的大小关系, 如果a[i]比a[i+1]大. 则进行互换. 循环结束的时候. 当前列表中最大的数据就会被移动到最右端.
- 想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端. 以此类推. 如果反复的进行执行相应的操作. 那这个列表就变成了一个有序列表.
1 a=[4,3,2,2,0,1] 2 i=1#控制索引 3 b=len(a) 4 while b: 5 i = 1#每次下面的一次循环结束,这个索引是再次循环的关键 6 while i < b:#这个是一次循环,目的是把最大的数放入最右端, 7 if a[i-1] > a[i] :#数的交换 8 c= a[i-1] 9 a[i-1]=a[i] 10 a[i]=c 11 print(a) 12 i += 1 13 b -=1 14 print(a)
三:完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.
随机数:
from random import randint
randint(0, 20) # 0 - 20 的随机数
1 import random 2 a=[]#放入随机数 3 i=0 #这个是用作a的索引 4 b=len(a)#计算总共放了多少随机数 5 while b<7 : 6 ran=random.randint(0, 36) 7 while b > 0 and i <b:#当还没有随机数时不用判断,直接执行else把随机数放入a里 8 if a[i] == ran:#这个循环的是判断a里的值有没有与现在产生的随机数相等的,若有重复的跳出 9 #循环,重新产生随机数 10 break 11 i += 1 12 # b -= 1 13 else: 14 a.append(ran) 15 b = len(a) 16 print(a)
四:税务部门征收所得税. 规定如下:
1). 收入在2000以下的. 免征.
2). 收入在2000-4000的, 超过2000部分要征收3%的税.
3). 收入在4000-6000的, 超过4000部分要征收5%的税.
4). 收入在6000-10000的, 超过6000部分要征收8%的税.
4). 收入在10000以上的, 超过部分征收20%的税.
注, 如果一个人的收入是8000, 那么他要交2000到4000的税加上4000到6000的税加上6000到8000的税.
收入 = 8000-(4000-2000)*3%-(6000-4000)*4%-(8000-6000)*8%
让用户输入它的工资, 计算最终用户拿到手是多少钱.
1 content=int(input("请您输入您的收入是多少")) 2 price=0 3 if content < 2000: 4 print("免征税") 5 elif content <= 4000: 6 price=2000+ (content-2000)*(1-0.03) 7 print("您的实际收入%s"%price) 8 elif content <=6000: 9 price=2000+ (4000-2000)*(1-0.03)+(content-4000)*(1-0.05) 10 print("您的实际收入%s" % price) 11 elif content <= 10000: 12 price =2000+ (4000-2000)*(1-0.03)+(6000-4000)*(1-0.05) + (content-6000)*(1-0.08) 13 print("您的实际收入%s" % price) 14 else: 15 price = 2000 + (4000 - 2000) * (1-0.03) + (6000 - 4000) *(1-0.05) + (10000 - 6000) * (1-0.08)+(content-10000)*(1-0.2) 16 print("您的实际收入%s" % price)