当前位置: 移动技术网 > IT编程>脚本编程>Python > python基础数据类型-代码小练

python基础数据类型-代码小练

2018年08月04日  | 移动技术网IT编程  | 我要评论

楚楚街9.9包邮,帝娜奥特曼,acfun上不去

一:判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数, 例如: 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

 

 

 

 二:给出一个纯数字列表. 请对列表进行排序(升级题).

思路:

  1. 完成ab的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10
  2. 循环列表. 判断a[i]a[i+1]之间的大小关系, 如果a[i]a[i+1]. 则进行互换. 循环结束的时候. 当前列表中最大的数据就会被移动到最右端.
  3. 想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端. 以此类推. 如果反复的进行执行相应的操作. 那这个列表就变成了一个有序列表.

 

 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)

 

 

 

 三:完成彩票367的功能. 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)

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网