输出格式
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(s2)
字符串不能进行除法和减法运算
转成全部大写
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