第一周总结和复习
概述
- python是一种解释型语言,解释型语言的最大优点是平台可移植性,最大的缺点是运行慢
- 今天当计算机硬件已经足够发达的时候,我们追求的更多的并不是程序的执行效率,而不是开发效率
- python的官方网站下载到相关文档
- 我们可以使用python的包管理工具pip来安装第三方模块
说明:如果要在linux环境下更新到python3x版本需要通过源代码构建安装
pip install ipython jupyter
或
python -m pip install ipython jupyter
- 第一个python程序 -hello,world
"""
第一个python程序
Version:1.0
Author:宋佳鑫
Date:
Modifier:王大锤
Date:
"""
# 使用了python内置的print函数打印字符串
print('hello,world!')
- 如果想用交互式环境进行python开发那么可以使用ipython或者jupyter的notebook项目
jupter notebook
- 如果要做团队开发以及需要多文件多模块协作的大型项目,我们推荐使用pycharm的集成开发工具,我们可以jetbrains的官方网站下载
变量
- 变量的作用:变量是数据的载体,就是内存里面的一块空间
- 变量的命名:
三条必须遵守的硬性规则:只能由字母数字下划线组成但不能以数字开头,不能使用特殊字符,大小写敏感
PEP(官方要求):全小写字母,多个单词用下划线连接起来。 - 变量的类型:整数,浮点数,布尔,字符串
运算符
- 赋值运算符:= += -= *= /+ //= **=
- 算术运算符:+ - * /
- 关系运算符:> >= == <= < !=
- 逻辑运算符:and or not
- 身份运算符:is
分支结构
- 分支语句 if
分段函数
5x+3(x<-1)
f(x) = 2x-1(-1<=x<1)
3x-5(x>1)
x = float(input('x='))
if x<-1:
y = 5*x+3
elif x<=1:
y = 2*x-1
else:
y = 3*x-5
print(y)
百分制转等级制
扁平优于嵌套
score = int(input('请输入你的分数:'))
if score>100 and score<0:
print('输入有误!')
if score > 90:
print('你的等级为:A')
elif score > 80:
print('你的等级为:B')
elif score > 70:
print('你的等级为:C')
elif score > 60:
print('你的等级为:D')
else :
print('你的等级为:E')
- 随机数
from random import *
from math import *
buy = input('买定离手(大,小,或者豹子):')
rand1 = randint(1,6)
rand2 = randint(1,6)
rand3 = randint(1,6)
print(rand1,rand2,rand3)
if rand1==rand2==rand3 and buy=='豹子':
print('大吉大利!今晚吃鸡!')
print('恭喜客官,你买中了豹子!!!')
elif rand1+rand2+rand3>9 and buy=='大':
print('大!')
print('恭喜客官,你买中了!')
elif rand1+rand2+rand3<=9 and buy=='小':
print('小!')
print('恭喜客官,你买中了!')
else:
print('千峰不到,赌博到老,下次再来!')
循环结构
- for循环
from random import *
f1=1
f2=2
f3=3
f4=4
f5=5
f6=6
for x in range(100000):
rand = randint(1,6)
if rand == 1:
f1 += 1
if rand == 1:
f2 += 1
if rand == 1:
f3 += 1
if rand == 1:
f4 += 1
if rand == 1:
f5 += 1
if rand == 1:
f6 += 1
print('1点摇出了%d次'%f1)
print('2点摇出了%d次'%f2)
print('3点摇出了%d次'%f3)
print('4点摇出了%d次'%f4)
print('5点摇出了%d次'%f5)
print('6点摇出了%d次'%f6)
- while循环
num = 0
n = 0
while num<100:
num+=1
if(num%3==0 or num%5==0):
n+=num
print(n)
猜数字游戏
from random import *
rand = randint(1,101)
num = 0
while True:
num += 1
n = int(input('请输入猜数: '))
if rand>n:
print('\033[1;35m 你猜小了 \033[0m')
elif rand7:
print('\033[1;35m 你怕不是个傻子吧! \033[0m')
作业:反转的猜数字(人出数字计算机猜)
from random import *
import time
anser = int(input('请输入答案:'))
min = 1
max = 100
num = 0
while True:
num += 1
rand = randint(min , max)
print(rand)
if rand > anser:
max = rand
print('大了')
if rand < anser:
min = rand
print('小了')
if rand == anser:
print('game over,恭喜通关')
break
time.sleep(0.5)
print('你一共猜了%d次'%(num))
作业:人机猜拳(计算机产生随机数表示剪刀石头布)
from random import *
money_player = 1000
money_computer = 1000
morra_rule = {1:'石头',2:'剪刀',3:'布'}
print('游戏开始(初始金额为1000)')
# 出拳过程
def morra_course(player,computer):
print('玩家出了%s,电脑出了%s'%(morra_rule[player],morra_rule[computer]))
while True:
# 输完结束
if money_player>0 and money_computer>0:
deposit = int(input('请押注:'))
# 押金不能大于余额
if deposit<=money_player:
player = int(input('请出拳(1表示石头,2表示剪刀,3表示布):'))
computer = randint(1,3)
if player == computer:
morra_course(player,computer)
print('\033[1;31m平局\033[0m')
elif (player==1 and computer==2) or (player==2 and computer==3) or (player==3 and computer==1):
money_player += deposit
money_computer -= deposit
morra_course(player,computer)
print('\033[1;31m你赢了,获得了%d,剩余金额为:%d\033[0m'%(deposit,money_player))
else:
money_player -= deposit
money_computer += deposit
morra_course(player,computer)
print('\033[1;31m你输了,失去了%d,剩余金额为:%d\033[0m'%(deposit,money_player))
else:
print('押注金额超出余额')
else:
if money_player<=0:
print('\033[1;35m游戏结束,你输了!\033[0m')
break
else:
print('\033[1;35m游戏结束,你赢了!\033[0m')
break
作业:计算个人所得税 总收入-五险一金>3500 (总收入-五险一金-3500)*税率-速算扣除数
income = int(input('请输入总收入:'))
if income<=3500:
print('你不用缴纳个人所得税')
else:
insurance = int(input('请输入五险一金:'))
diff = income-insurance-3500
if diff<0:
tax = 0
deduction = 0
elif diff<1500:
tax = 0.03
deduction = 0
elif diff<4500:
tax = 0.1
deduction = 105
elif diff<9000:
tax = 0.2
deduction = 555
elif diff<35000:
tax = 0.25
deduction = 1005
elif diff<55000:
tax = 0.3
deduction = 2755
elif difff<80000:
tax = 0.35
deduction = 5505
else:
tax = 0.45
deduction = 13505
n = diff*tax-deduction
print('你需要缴纳个人所得税:¥%d'%(n))
print('你到手工资为:¥%d'%(income-n-insurance))