Python——随机数和for循环

继昨天的基础小知识之后(https://mp.csdn.net/postedit/80819564),对Python进入深一步的简单学习。

一、首先是实现一个个税的计算。

根据2011年所作调整,个税计算所包含的内容如下:

扣除标准3500元/月(工资、薪金所得适用)
三险一金 = 工资 * 比例
扣除三险一金后月收入 = 工资 - 三险一金
应纳税所得额=扣除三险一金后月收入-扣除标准
应纳个人所得税税额=全月应纳税所得额×适用税率-速算扣除数
个税 =
养老保险:单位20%,个人8%
医疗保险:单位8%,个人2%
失业保险:单位1%,个人0.5%
生育保险:单位0.6%,个人不用缴费
工伤保险:单位1%,个人不用缴
住房公积金:单位5%-12%,个人5%-12%,按12%算、
三险一金缴纳 的基准工资上限为7662 ;超过,就按照7662缴纳;

 2011年9月1日起调整后的7级超额累进税率

      全月应纳税所得额                                               税率                       速算扣除数(元)

全月应纳税所得额不超过1500元                                3%                                 0

全月应纳税所得额超过1500元至4500元                     10%                             105

全月应纳税所得额超过4500元至9000元                     20%                             555

全月应纳税所得额超过9000元至35000元                    25%                            1055

全月应纳税所得额超过35000元至55000元                  30%                             2755

全月应纳税所得额超过55000元至80000元                   35%                            5505

全月应纳税所得额超过80000元                                    45%                            13505

有以上条件可以写出以下代码:

salary = input('请输入工资')
# 将输入的内容转化成数字
salary = int(salary)
sanXian = 0
if salary >= 7662 :
    sanXian = 7662 * 0.225
else :
    sanXian = salary * 0.225
# 所得额
suoDeE = salary - sanXian - 3500
shuiLv = 0
kouChuShu = 0
if suoDeE <= 0 :
    print('loser')
else :
    if suoDeE <= 1500 :
        shuiLv = 0.03
    elif suoDeE <= 4500 :
        shuiLv = 0.1
        kouChuShu = 105
    elif suoDeE <= 9000 :
        shuiLv = 0.2
        kouChuShu = 555
    elif suoDeE <= 35000 :
        shuiLv = 0.25
        kouChuShu = 1005
    elif suoDeE <= 55000 :
        shuiLv = 0.3
        kouChuShu = 2755
    elif suoDeE <= 80000 :
        shuiLv = 0.35
        kouChuShu = 5505
    else :
        shuiLv = 0.45
        kouChuShu = 13505
    geShui = suoDeE * shuiLv - kouChuShu
    print(geShui)
二、数字类型操作

     1. Python的基本数字类型包括:字符串、数字、列表、元组、字典。

      判断一个数既是3的倍数也是4的倍数:

num = 12345
if num % 12 == 0 :
    print('既是3的倍数也是4的倍数')
else :
    print('不是3和4的倍数')

if num % 3 == 0 :
    if num % 4 == 0 :
        print('既是3的倍数也是4的倍数')
    else :
        print('不是4的倍数')
else :
    print('不是3的倍数')

if num % 3 == 0 and num % 4 == 0 :
    print('是3和4的倍数')

      判断一个数是5的倍数或者6的倍数:

if num % 5 == 0 :
    if num % 6 == 0 :
        print('既是5也是6的倍数')
    else :
        print('是5的倍数不是6的倍数')
else :
    if num % 6 == 0 :
        print('只是6的倍数')
    else :
        print('既不是5也不是6的倍数')
      总结:
     and和or用于多个条件需要判断的情况下,以两个条件举例
                and:只要一个条件为假,结果就是假
                条件1  真   条件2  真   结果:真
                条件1  假   条件2  真   结果:假
                条件1  假   条件2  假   结果:假
                or:只要一个条件为真,结果就为真
                条件1  真   条件2  真   结果:真
                条件1  假   条件2  真   结果:真
                条件1  假   条件2  假   结果:假
 2.随机数
  计算机随机数是根据计算机内部的算法来找到的。
  在0~3之间随机获得一个整数:
from random import randint
number = randint(0,3)
print(number)
user_num = input('请输入你要猜的数字')
user_num = int(user_num)
computer_num= randint(0,3)
print(computer_num)
if(user_num == computer_num) :
    print('you win')
else :
    print('you lose')
   3.for循环

     for in 结构,index表索引,range表示范围。

     以获取1~100之间所有奇数之和与5的倍数之和的差为例:

sum1 = 0
sum2 = 0

for x in range(1,101):
    if x % 2 != 0 :
        sum1 = sum1 + x
    if x % 5 == 0 :
        sum2 = sum2 + x
sum = sum1 - sum2
print('差是%s'% sum)

三、剪刀石头布小程序

from random import  randint
user_num = input('请输入一个数字')

# 0 石头  1 剪子  2 布  or或者  and 并且
# 0   1    -1
# 1   2    -1
# 2   0     2
computer_num = randint(0 , 2)
print(computer_num)
if user_num.isdigit():
    user_num = int(user_num)
    if  0 <= user_num <= 2 :
        if user_num - computer_num == -1 or user_num - computer_num == 2:
            print('you win')
        elif user_num - computer_num == 0 :
            print('deuce')
        else :
            print('you lose')
    else :
        print('输入的数值大于有效范围')
else :
    print('输入的内容格式错误,请输入0~2之间的一个数值')
# 石头剪子布 小程序  三局两胜制
from random import randint
user_win = 0
compunter_win = 0
deuce = 0
# index 代表标号  value代表值
# for index ,value in enumerate('Hello wolrd'):
for index ,value in enumerate(range(3)):

    user_num = input('请输入数字')
    user_num = int(user_num)
    computer_num = randint(0 , 2)

    if user_num -computer_num == -1 or user_num -computer_num == 2:
        print('第{}局玩家胜'.format(index + 1))
        user_win += 1
    elif user_num - computer_num == 0:
        print('第{}局平局'.format(index + 1))
        deuce += 1
    else :
        print('第{}局电脑胜'.format(index +  1))
        compunter_win += 1
    print('-------------第{}局结束--------------'.format(index + 1))

    if compunter_win == 2 :
        print('电脑胜')
        break
    elif user_win == 2:
        print('玩家胜')
        break
    else:
        # 平1局 一胜一负  平两局 赢一局  平三局
        if deuce == 1 and compunter_win - user_win == 0 and index == 2:
            print('平局')
        elif deuce == 3 :
            print('平局')
        elif deuce == 2 and index == 2:
            if compunter_win -user_win == 1:
                print('电脑胜')
            else:
                print('玩家胜')

稍后会相继有更丰富的内容,敬请期待!

你可能感兴趣的:(Python)