继续上一次教程,今天进行python计算的基础学习以及初步了解数字类型操作基础。
1.if 条件判断表达式
age =18 if age<4: print('幼儿') if age<12: print('儿童') if age<18: print('青少年') if age<25: print('青年') if age <100: print('少于100') else: print('大于100') #局部变量 影响部分代码 在部分代码中有效 #全局变量 在全部变量都有效
2.个税计算
salary =input('请输入工资') salary =int(salary) sanXian =0 if salary>=7662: sanXian=7662*0.225 else: sanXian =salary*0.225 yingNaShuiEr =salary-sanXian-3500 shuiLv =0 kouChuShu =0 if sanXian<=0: print('loser') else: if yingNaShuiEr<=1500: shuiLv =0.03 kouChuShu =0 elif yingNaShuiEr<=4500: shuiLv =0.1 kouChuShu =105 elif yingNaShuiEr <=9000: shuiLv =0.2 kouChuShu =555 elif yingNaShuiEr <=35000: shuiLv =0.25 kouChuShu =1005 elif yingNaShuiEr<=55000: shuiLv=0.3 kouChuShu =2755 elif yingNaShuiEr<=80000: shuiLv =0.35 kouChuShu =5505 else: shuiLv =0.45 kouChuShu =13505 yingNaGeRenSuoDeShui = yingNaShuiEr*shuiLv-kouChuShu print(yingNaGeRenSuoDeShui)
3.数字类型操作
#字符串 数字 布尔 列表 元组 字典 #怎么判断输入的数字为整数 num =input('请输入一个整数') num =int(num) if num % 2==0: print('偶数') else: print('奇数') #问题二:怎么判断一个数字既是3的倍数也是4的倍数 if num % 12==0: print('既是3的倍数也是4的倍数') else: print('不是3和4的倍数') if num % 3==0: if num % 4==0: print('既是3也是4的倍数') else: print('是3的倍数不是4的倍数') else: 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的倍数') #or 多个条件只要一个满足就可以 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 假 结果假 #框架 ,工具 , 包 ,插件 #从random包中引出随机整数地方法 from random import randint #在0和3之间获得一个整数 #计算机当中的随机数也称之为“伪随机数” #计算机找随机数是根据计算机内部的算法来找的 number =randint(0,3) print(number) user_number =input('请输入你要猜的数字') user_number =int(user_number) comput_number =randint(0,3) if(user_number==comput_number): print('you win') else: print('you lose')
4.石头剪刀布模式计算
#A B C from random import randint #0 1 2 comput_num =randint(0,2) user_num =input('请输入数字') if user_num.isdigit(): user_num = int(user_num) if 0<= user_num<=2: if user_num-comput_num >0: print('玩家胜利') elif user_num-comput_num<0: print('电脑胜利') else: print('平局') else: print('输入的数字超出范围') else: print('输入的格式不对')
5.for循环模式计算
#for in结构 index索引 range范围 # rangzhi后面一个值 for index in range(10): print() print(index) #range后面一个值表示代码运行的次数 #值1表示循环开始的位置 #值2表示循环结束的位置 for index in range(50,100): print('') print(index) #值3表示循环的增量 num =100 num =num+100 num += 100 print(num) #问题:获取1~100之间所有数字 sum = 0 for x in range(1,101): sum = sum +x print('x=%x' % x) print(sum) #问题2:获取1~100之间所有奇数之和与5的倍数之和的差 sum1 = 0 sum2 = 0 for x in range(0,101,5): sum1 =sum1 + x for x in range(1,101,2): sum2 =sum2 + x print(sum2-sum1) #石头剪刀布 小程序 from random import randint user_win = 0 computer_win = 0 deuce = 0 #index代表编号 #value代表值\ for index ,value in enumerate(range(3)): print(index) user_num = input('请输入数字') user_num = int(user_num) comput_num = randint(0,2) if user_num-comput_num==-1 or user_num-comput_num==2: print('第{}局玩家胜'.format(index + 1)) user_win +=1 elif user_num - comput_num == 0: print('第{}局平局'.format(index + 1)) deuce +=1 else: print('第{}局平局'.format(index + 1)) computer_win +=1 print('-----第{}局结束-----',format(index + 1)) if computer_win ==2 : print('电脑胜') elif user_win == 2 : print('玩家胜') break # 平一局 一胜一负 平两局 平两局 赢一局 平三局 else: if deuce == 1 and computer_win-user_win ==0: print('平局') elif deuce == 3: print('平局') elif deuce == 2 and index == 2: if computer_win -user_win ==1: print('电脑胜') elif user_win - comput_num ==1: print('玩家胜')
未完待续!!!!