Python入门基础(二)

if条件判断表达式

输入代码

age = 10
name ='小明'
if age < 4 :
    print('幼儿')
age = 10
name ='小明'
if age < 4 :
    print('幼儿')
if age < 12 :
    print('儿童')
if age < 18 :
    print('青少年')
if age < 25 :
    print('青年')

运行程序可以得到以下结果:


       由于上述代码均是同级代码,且输入信息为age=10,该条件符合age<12,age<18,age<25,所以

会得到儿童、青少年、青年的输出信息。

        同理,输入以下代码也会得到相应信息

if age < 100 :
    print('少于100')
else :
    print('大于100')

if age < 10 :
    print('age')
if name == '小明':
    print('小明')

变量

          变量又分为局部变量与全局变量。局部变量只影响部分代码,在部分代码中生效。全局变量在全部代码中都会生效。

习题:利用已学内容计算应纳个人所得税

计算方法

扣除标准3500元/月(2011年9月1日起正式执行)(工资、薪金所得适用)

三险一金 = 工资 * 比例 

扣除三险一金后月收入 = 工资 - 三险一金

应纳税所得额=扣除三险一金后月收入-扣除标准

应纳个人所得税税额=全月应纳税所得额×适用税率-速算扣除数

个税 = 养老保险:单位20%,个人8%
           医疗保险:单位8%,个人2%
           失业保险:单位1%,个人0.5%
           生育保险:单位0.6%,个人不用缴费
           工伤保险:单位1%,个人不用缴

           住房公积金:单位5%-12%,个人5%-12%,按12%算、    总计需缴纳个人所得税为22.5%

五险一金缴纳 的基准工资上限为7662 ;超过,就按照7662缴纳;

                               
              
写出代码如下:
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)

运行结果如下图:


数字类型操作

类型:是编程语言中对数据的一种划分,如果学过其它语言,也有不同类型的数据; 我们介绍6种Python语言中的类型: 
1)数字类型 
2)字条串类型 
3)元组类型 
4)列表类型 
5)文件类型 
6)字典类型

习题:

问题1:怎么判断输入数字为偶数还是偶数?

输入代码如下:

num= input('请输入一个整数')
num=int(num)
if num %2==0:
    print('偶数')
else:
    print('奇数')

问题2:怎么判断一个数字既是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的倍数')

问题3:怎么判断输入数字是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倍数')
if num % 5 == 0 or num % 6 ==0:
    print('5或者是6的倍数')

总结:and和or用于多个条件需要判断的情况下,以两个条件举例
 and:只要有一个条件为假,最终结果就为假
条件1       真     条件2   真       结果:真
条件1       假     条件2   真       结果:假
条件1       假     条件2   假       结果:假
 or:只要有一个条件为真,最终结果就为真
条件1       真     条件2   真       结果:真
条件1       真     条件2   假       结果:真
条件1       假     条件2   假       结果:假

from random import  randint 从random包中引出随机整数的方法
下面做一个小程序进行运用

代码如下:

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')

运行结果如下:


制作小程序:石头剪刀布

输入代码:

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之间的一个数值')

程序运行结果如下:


for循环

# for(int index  = 0 ; index < 10 ;index ++)
# {
#     循环;迭代
# }
# for in结构  index索引 range 范围
# range后面一个值
# 表示代码循环的次数
for index in range(10):
    print('老婆,我错了')
    print(index)

运行结果:


# 值1:循环开始的位置
# 值2:循环结束的位置
for index in range(50 ,100):
    print(index)

运行结果如下:


# 值1:循环开始的位置
# 值2:循环结束的位置
# 值3:增量
for index in range(50 ,100 ,5):
    print(index)

运行结果如下:


习题:获取1~100之间所有数字的和
sum = 0
for x  in range(1,101):
    sum = sum + x
    print('x=%s'% x)
print(sum)

习题2:获取1~100之间所有奇数之和与5的倍数之和的差

ji_he = 0
bei_he = 0
for index in range(1 , 101):
    if index % 2 == 1 :
        ji_he = ji_he + index
    if index % 5 == 0:
        bei_he = bei_he + index
print(ji_he - bei_he)

习题3:石头剪刀布 小程序 三局两胜制

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('玩家胜')

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值