2018-03-03

第一周总结和复习

概述

  1. python是一种解释型语言,解释型语言的最大优点是平台可移植性,最大的缺点是运行慢
  2. 今天当计算机硬件已经足够发达的时候,我们追求的更多的并不是程序的执行效率,而不是开发效率
  3. python的官方网站下载到相关文档
  4. 我们可以使用python的包管理工具pip来安装第三方模块

说明:如果要在linux环境下更新到python3x版本需要通过源代码构建安装

    pip install ipython jupyter

    python -m pip install ipython jupyter
  1. 第一个python程序 -hello,world
"""
第一个python程序
Version:1.0
Author:宋佳鑫
Date:
Modifier:王大锤
Date:
"""
# 使用了python内置的print函数打印字符串
print('hello,world!')
  1. 如果想用交互式环境进行python开发那么可以使用ipython或者jupyter的notebook项目
jupter notebook
  1. 如果要做团队开发以及需要多文件多模块协作的大型项目,我们推荐使用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))

你可能感兴趣的:(2018-03-03)