输出格式
name =‘nili’
age=23
print("%s今年%d岁了"%(name,age))

进制转换
转二进制
n=149
result=bin(n)
print(result)
八进制
result=oct(n)
print(result)
十六进制
result=hex(n)
print(result)
十六进制转十进制
n=0x558
result=int(n)
print(result)
result=bin(n)#十六进制转二进制
print(result)
result=oct(n)#十六进制转八进制
print(result)

0x558---->二进制(四位一分)
0b 0101 0101 1000
5 5 8

0xac3
0b 1010 1100 0011
二进制转八进制——三位一分
0b 010 101 011 000
2 5 3 0

已知二进制转十六进制,将二进制从右侧开始4位一组,最后不足4位补0
已知二进制转八进制,三位一组,不足补0

位运算:针对二进制进行的计算
& | ^ ~ << >>
n1=0b0110
n2=0b0010
&与上下有一个为0即为0,都为1为1
print(n1& n2)
或是一个为1即为1,都为0才为0
print(n1 | n2)
异或上下不同为1,相同为0(即都为1或都为0结果为0)
print(5^9)
取反:针对一个数取反
print(~5)

bit byte
1byte=8bit
32个二进制位,前面有符号位

二进制的负数表示
原码 0110
反码 1001
补码 反码+1
1001

  • 1
    ——————————
    1010
    -7的二进制是:1111 1001

1.已知十进制负数,二进制负数
1.正数的原码 2.原码取反,3.加1
2.已知二进制的负数(判断是否为负的二进制看最高为:1111 1010,最高位为1是负数,最高位为0是正数),求对应的十进制
1.二进制(负的) 2.二进制减1 3.取反 4.原码 转成十进制,然后加负号

print(’*’*30)
print(~7)
print(~(-4))
n=-9
result=bin(n)
print(result)

左移与右移
n=12
print(n<<2)
左移就是n乘以2的几次方
print(n>>1)
print(n>>2)
右移是n除以2的几次方

布尔运算参与计算
print(1+True)
结果为2

round()方法的作用是对于浮点数进行四舍五入。
round(x) 返回浮点数x的四舍五入的值
round(x,n) 返回浮点数x的四舍五入的小数点后的n位数值
print(round(15.369,2))

字符串的加法是连接
s=“Hello”
t=“World”
print(’*'40)
print(len(s)+len(t))
取出下标对应的值做连接
print(s[1]+s[2])
print(s[len(s)//2])
print(s+t)
print(t+s)
乘号是两个相同的字符串做连接
print(s
2)
字符串不能进行除法和减法运算

转成全部大写
name=“Snib Mhjje Lhfhe”
print(name.upper())

返回gram
title=“Python Program”
print(title.replace(“Python Pro”, “”))

打印网格

name='''+--+--+--+
|  |  |  |   
'''
name_1="+--+--+--+"
print(name*3+name_1)

打印圣诞树

name='''
     /\\
    /  \\
   /    \\
  /      \\
  --------
'''
name1='    " "  '
print(name+name1+'\n'+name1+'\n'+name1)

输出字符串
左对齐和右对齐

title1="Bottles:"
title2="Cans:"
print("%-10s %10d"%(title1,6))
print("%-10s %10d"%(title2,24))
n1="Sum:"
n2="Diffence:"
n3="Product:"
print("%-8s %13d" % (n1,56))
print("%-8s %12d" % (n2,-12))
print("%-8s %15.2f"%(n3,23.56))

条件语句

import random
ran=random.randint(1, 10)
print(ran)
guess=input('请输入:')
if ran==int(guess):
    print('恭喜了!')
else:
    print('遗憾!')
import random
n1=random.randint(1, 10)
n2=random.randint(1, 10)
print(n1,n2)

if n1+n2>8 and abs(n1-n2)<=3:
    print("1")
else:
    print("0")

多个分支,多个判断

money=1000000
if 1000<money<=50000:
    print("奖100")
elif 50000<money<=15000:
    print("奖233")
elif money>100000:
    print("奖500")
else:
    print("毛绒玩具!")
print("**************欢迎进入管理系统***********************")
choice=input('请选择功能:\n 1.添加员工 \n 2.删除员工 \n 3.查询员工 \n 4.修改员工信息')
if choice=='1':
    print('添加员工')
elif choice=='2':
    print('删除员工')
elif choice=='3':
    print('查询员工')
elif choice=='4':
    print('修改员工信息')
else:
    print('输入错误')
import random
username='hjk'
total=1500
money=0
coupon=0
if 0<total<500:
    quan1=random.randint(1, 10)
    quan2=random.randint(1, 10)
    quan3=random.randint(1, 10)
    coupon=quan1+quan2+quan3
elif 500<=total<2000:
    coupon +=2*50
    recharge=input('是否充值,送10%(y/n)')
    if recharge=='y':
        c=int(input('输入充值金额:'))
        money =c+c*0.1
elif total>=2000:
    coupon +=2*100
    recharge=input('是否充值,送15%(y/n)')
    if recharge=='y':
        c=int(input('输入充值金额:'))
        money =c+c*0.15

用户输入账户密码判断:

username=input('请输入用户名:')
password=input('请输入密码:')
is_remember=False
if username=='admin' and password=='1234' :
    if is_remember:
        print("已记住%s" % username)
    else:
        print("未记住")
else:
    print('用户名或密码有误!')

模拟超市付款

print('欢迎光临超市')
price=float(input('单价:'))
number=int(input("数量:"))
total=price * number
choice=input("请选择付款方式:1.现金,2.微信,3.支付宝,4.刷卡")
if choice=='1':
    print("现金")
elif choice=='2':
    print("微信")
    total *=0.95
elif choice=='3':
    print("支付宝")
    total=total-total*0.1
elif choice=='4':
    print("刷卡")
    if total>100:
        total -=20
    else:
       print("没有折扣")
else:
    print("输入错误!")

在python中,转换成为布尔值时,只有0,“”,‘’,None,(),{},[]会被转换成False,其他都会被转换成为True

while循环结构

n=1
while n<=10:
    print('-------->n=%d' % n)
    n+=1
#循环求和
n=1
sum=0
while n<=10:
    sum +=n
    n +=1
print(sum)
#跳出死循环
count=0
while True:
    print("111111")
    count +=1
    if count>=5:
        break

超市买东西

total=0
count=0
while True:
    price=int(input("价格:"))
    number=int(input('数量:'))
    count +=number
    total +=price*number
    answer=input('当前商品数量%d,总额%.2f,是否继续添加商品(y/n)'%(count,total))
    if answer=='n':
        break
print(count,total)

猜数

num=random.randint(1, 50)
count=0
while True:
    guess=int(input("你猜的数:"))
    count +=1
    if guess==num:
        if count==1:
            print("恭喜猜对了,一猜就中")
        elif 2<=count<=6:
            print("对了,运气还可以")
        else:
            print("对了,运气一般")
        break
    elif guess>num:
        print("大了")
    elif guess<num:
        print('小了')

石头剪刀布

n=1
person1=0
mechine2=0
while n<=3:
    ran=random.randint(0,2)
    guess=int(input('请输入剪刀(0),石头(1),布(2)'))
    if guess==0 and ran==2 or guess==1 and ran==0 or guess==2 and ran==0:
        print("我赢了")
        person1 +=1
    elif ran==0 and guess==2 or ran==1 and guess==0 or ran==2 and guess==1:
        print("机器赢了")
        mechine2 +=1
    else:
        print("平局")
    n +=1
if person1>mechine2:
    print("最终人赢了")
elif person1<mechine2:
    print("最终机器赢了")
else:
    print("最终0平局")

for循环

for i in range(1,10):
    print(i)

允许用户登录三次

for i in range(1,10):
    print(i)
    
for i in range(3):
    username=input("用户名:")
    password=input("密码:")
    if username=='admin' and password=='1234':
        print("登录成功")
        break
    else:
        print("用户名或密码错误")
if i==2:
    print("账号锁定")

for…else:
for i in range(i):
循环体
else:
如果上面的for循环0–n-1没有出现中断(break),则执行

for i in range(3):
    username=input("用户名:")
    password=input("密码:")
    if username=='admin' and password=='1234':
        print("登录成功")
        break
    else:
        print("用户名或密码错误")
else:
    print("账号锁定")

while。。。。else
与for 。。。else用法一样
注意:不被中断则执行else中的语句

n=1
while n<=10:
    print(n)
    if n==5:
        break
    n+=1
else:
    print("over")

for i in range(n):肯定是固定次数
pass
while 条件:1.固定次数的循环,2.不确定次数的循环
不确定次数的循环:
while True:
pass

sum=0
for i in range(1,51):
    sum +=i
print(sum)

range是左闭又开函数

coins=0
if coins<5:
   print("金币不足请充值在玩")
   while True:
        money=int(input("请输入金额:"))
        if money % 10==0:
            coins +=money//10*20
            print('充值成功,当前金币有%d'% coins)
            print("~~~~~~~~~~~~~~开启游戏~~~~~~~~~~~~~~")
            ans=input("是否开始:y/n:")
            while coins>5 and ans=='y' or answer=='y':
                coins -=5
                coins +=1
                ran1=random.randint(1, 6)
                ran2=random.randint(1, 6)
                guess=input("洗牌完毕,请猜大小")
                if guess=='大' and ran1+ran2>6 or guess=='小' and ran1+ran2<=6:
                    print("恭喜你,对了")
                    coins +=2
                else:
                    print("猜错了")
                answer=input("是否继续游戏:(y/n)")
            break
        else:
            print('不是10的倍数,请重新充值')

continue 跳出本次循环,执行下一次循环

n=1
while n<=5:
    print('*'*n)
    n+=1
n=1
while n<=5:
    m=0
    while m<n:
        print('*',end='')
        m +=1
    n +=1
    print()

流程控制:if…elif…else
循环语句:while/for
for…else