整理一下我学习python的过程,一些简单例题,喜欢python的小伙伴可以试试

2018.02.28

author:wills

1 成绩百分制转换为ABCDE等级制

2 骰子游戏

3 求和以及求阶乘

4 人猜计算机产生的随机数

以及homework

### 1 用turtle画更复杂图形

我画的比较简单

整理一下我学习python的过程,一些简单例题,喜欢python的小伙伴可以试试

 

2 反转猜数字,电脑猜人给的数字

   有两种办法

a 我称为折半法,不看脸

thy_num=int(input('请输入你的数字:'))
time=1
import random
import math
s=100
#c=random.randint(1,s)
c=50
print('电脑第一次答案%d'%c)
while time:
    median=round(s/(2**time))
    if c>thy_num:
        print('大了')
        c=c-median
        print(c)
        time+=1
    elif c<thy_num:
        print('小了')
        c=c+median
        print(c)
        time+=1      
    else:
        print('电脑答对了')
        print('花了'+str(time)+'次')
        if time ==1:
            print('computer is genius! just once')
        elif time<5:
            print('computer is good!')
        else:
            print('the computer is no use!!!')

        time=0

b 改变随机数函数random上下限,我感觉看脸,但是实际使用感觉很少会循环次数大于折半法,我不太明白为啥

thy_num=int(input('请输入你的数字:'))
time=1
b=1
e=100
import random
while time:
    c=random.randint(b,e)
    if c>thy_num:
        e=c-1
        print('大了')
        print(c)
        time+=1
    elif c<thy_num:
        b=c+1
        print('小了')
        print(c)
        time+=1
    else:
        print(c)
        print('电脑答对了')
        print('花了'+str(time)+'次')

        time=0

3 ## 3 人机猜拳**(石头=1,剪刀=2,布=3)

这个我个人感觉很有趣,就像虚拟**一样

from random import randint
thy_money=10000
com_money=10000
print('你的赌资:%d'%thy_money)
print('电脑赌资:%d'%com_money)
#stone=1   scissor=2    cloth=3
game=1
while game:
    if thy_money>0 and com_money>0:
        print('round %d'%game)
        wager=int(input('请输入赌注:'))
        com_num=randint(1,3)
        thy_num=int(input('请出招'))
        if thy_num==0:
            print('不玩了,再见!')
            game=0
        elif com_num==thy_num:
            print('平手,下一局')
            print('你的赌资:%d'%thy_money)
            print('电脑赌资:%d'%com_money)
            game+=1
        elif (com_num==1 and thy_num==2) or (com_num==2 and thy_num==3) or (com_num==3 and thy_num==1):
            print('电脑win,下一局')
            thy_money-=wager
            com_money+=wager
            print('你的赌资:%d'%thy_money)
            print('电脑赌资:%d'%com_money)
            game+=1
        else:
            print('you win,下一局')
            thy_money+=wager
            com_money-=wager
            print('你的赌资:%d'%thy_money)
            print('电脑赌资:%d'%com_money)
            game+=1
    else:
        game=0
if com_money<=0:
    print('GAME OVER\n你赢光了电脑!')
elif thy_money<=0 :
    print('GAME OVER')
    print('你输光了!**有害健康')
else:
    print('GAME OVER\n你离开了赌局')
    print('你的赌资:%d'%thy_money)

    print('电脑赌资:%d'%com_money)

 4 计算个人所得税

税率公式不知道有没有错,百度的

salary=float(input('请输入你的税前收入:'))
tax=1.0
#if salary<=3500:
#    print('不用交税,实际收入%.1f¥'%salry)
if salary-3500>80000:
    tax=(salary-3500)*0.45-13505
    print('请交税%.1f¥,税后收入%.1f¥'%(tax,salary-tax))
elif salary-3500>55000:
    tax=(salary-3500)*0.35-5505
    print('请交税%.1f¥,税后收入%.1f¥'%(tax,salary-tax))
elif salary-3500>35000:
    tax=(salary-3500)*0.30-2755
    print('请交税%.1f¥,税后收入%.1f¥'%(tax,salary-tax))
elif salary-3500>9000:
    tax=(salary-3500)*0.25-1005
    print('请交税%.1f¥,税后收入%.1f¥'%(tax,salary-tax))
elif salary-3500>4500:
    tax=(salary-3500)*0.20-555
    print('请交税%.1f¥,税后收入%.1f¥'%(tax,salary-tax))
elif salary-3500>1500:
    tax=(salary-3500)*0.10-105
    print('请交税%.1f¥,税后收入%.1f¥'%(tax,salary-tax))
elif salary-3500>0:
    tax=(salary-3500)*0.03
    print('请交税%.1f¥,税后收入%.1f¥'%(tax,salary-tax))
else:
    print('收入%.1f¥,太低了不用交税了'%salary)