fp = open("D:/新建文件夹/text.txt,", "a+")
print("hello world", file=fp)
fp.close()
print("hello", "world", "python")
print("1+4")
print("hello\nworld")
print("hello\tworld")
print("hello\rworld")
print("hello\bworld")
print("http:\\\\www.baidu.com")
print("老师说:“大家好\"")
print(r"hello\nworld\\")
name="玛丽亚"
print(name)
print("标识",id(name))
print("类型",type(name))
print("值",name)
n1=90
n2=76
n3=0
print(n1)
print(n2)
print(n3)
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
print("十进制",118)
print("二进制",0b10101111)
print("八进制",0o176)
print("十六进制",0x1EAF)
n1=1.1
n2=2.2
n3=2.1
print(n1+n2)
print(n1+n3)
from decimal import Decimal
print(Decimal("1.1")+Decimal("2.2"))
f1=True
f2=False
print(f1,type(f1))
print(f2,type(f2))
name="张三"
age=20
print(type(name),type(age))
print("我叫"+name+",今年"+str(age)+"岁")
a=10
b=198.8
c=False
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),(type(str(a)),type(str(b)),type(str(c))))
s1="128"
f1=98.7
s2="76.77"
ff=True
s3="Hello"
print(type(s1),type(f1),type(s2),type(ff),type(s3))
print(int(s1),type(int(s1)))
print(int(f1),type(int(f1)))
print(int(ff),type(int(ff)))
s1="128.98"
s2="76"
ff=True
s3="Hello"
i=98
print(type(s1),type(s2),type(ff),type(s3),type(i))
print(float(s1),type(float(s1)))
print(float(s2),type(float(s2)))
print(float(ff),type(float(ff)))
print(float(i),type(float(i)))
# 输入函数 input
present=input("大圣想要什么礼物呢?")
print(present,type(present))
a=input("请输入一个加数:")
a=int(a)#将转换的结果存储到a中
b=input("请输入另一个加数:")
b=int(b)
print(type(a),type(b))
print(a+b)
#另外一个方式
a=int(input("请输入一个加数"))
b=int(input("请输入另外一个加数"))
# 标准运算
print(1+1)#加法
print(1-1)#减法
print(2*4)#乘法
print(1/2)#除法
print(11//2)#整除
print(11%2)#取余
print(2**2)# 表示2的2次方
print(9//-4)
print(-9//4) # 一正一负整数公式,向下取整
print(9%-4)# 公式 余数=被除数-除数*商 9-(-4)*(-3)
print(-9%4) #-9-4*(-3)
#赋值运算符,从右到左
i=3+4
print(i)
a=b=c=20# 赋值数值
print(a,id(a))
print(b,id(b))
print(c,id(c))#支持参数赋值
a=20
a+=30 #相等于a=a+30
print(a)
a-=10#相当于a=a-10
print(a)
a*=2#相当于a=a*2
print(a)
print(type(a))
a/=3 # a=a/3
print(a)
print(type(a))
a//=2
print(a)
print(type(a))
a%=3
print(a)
# 标准运算
print(1+1)#加法
print(1-1)#减法
print(2*4)#乘法
print(1/2)#除法
print(11//2)#整除
print(11%2)#取余
print(2**2)# 表示2的2次方
print(9//-4)
print(-9//4) # 一正一负整数公式,向下取整
print(9%-4)# 公式 余数=被除数-除数*商 9-(-4)*(-3)
print(-9%4) #-9-4*(-3)
print(type(a))
# 支持解包赋值(左右数值要一致)
a,b,c=20,30,40
print(a,b,c)
#交换两个变量
a,b=10,20
print("交换之前",a,b)
#交换
a,b=b,a
print("交换之后",a,b)
#比较运算符,比较运算的结果为bool类型
a,b=10,20
print("a>b吗",a>b)
print("a<b吗",a<b)
print("a<=b吗",a<=b)
print("a>=b吗",a>=b)
print("a==b吗",a==b)
print("a!=b吗",a!=b)
#一个=称为赋值运算符,==称为比较运算符
#一个变量由三部分组成,标识,类型,值
a=10
b=10
print(a==b)#说明a与b的value值相等
print(a is b)#说明a与b的id标识相等
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lst1==lst2)
print(lst1 is lst2)
print(id(lst1))
print(id(lst2))
print(a is not b)
print(lst1 is not lst2)
#布尔运算
a,b=1,2
#and
print(a==1 and b==2)
print(a==1 and b<2)
print(a!=1 and b==2)
print(a!=1 and b!=2)
#or
print(a==1 or b==2)
print(a==1 or b<2)
print(a!=1 or b==2)
print(a!=1 or b!=2)
#not
f=True
f2=False
print(not f)
print(not f2)
print("#in 与not in")
s="helloworld"
print('w'in s)
print('k'in s)
print('w'not in s)
print('k'not in s)
#&或对应数为1结果为1否则为0
print(4&8)
#|与对应数数为0结果为0否则为1
print(4|8)
#<<向左移动高位溢出舍弃,低位补0
print(4<<1)
print(4<<2)
#>>向右移动低位溢出舍弃,低位补0
print(4>>1)
print(4>>2)
#计算机的流程控制
#顺序结构
print("----程序开始----")
print("1,把冰箱打开")
print("2,把大象放冰箱里")
print("3,把冰箱门关上")
print("----程序结束---")
#测试对象的布尔值
print(bool(False))
print(bool(0))#数值
print(bool(0.0))#数值
print(bool(None))#None
print(bool(""))#空字符串
print(bool(''))#空字符串
print(bool([]))#空列表
print(bool(()))#空元组
print(bool(tuple()))#空元祖
print(bool({}))#空字典
print(bool(dict()))#空字典
print(bool(set()))#空集合
#除了以上的之外布尔值结果都是True
#选择结构
#单分支
money=1000
s=int(input("请输入取款金额"))
if money>=s:
money=money-s
print("取款成功,余额为",money)
#双分支结构 if...else,二选一
num=int(input("请输入一个整数"))
#条件判断
if num%2==0:
print(num,"是偶数")
else:
print(num,"是奇数")
# 多分支结构,多选一执行
# 从键盘录入一个整数,成绩
# 90-100 A
# 80-89 B
# 70-79 C
# 60-69 D
# 0-59 E
# 小于等于0或大于100 为非法数据(不是成绩的有效范围)
score = int(input("请输入一个成绩"))
if score >= 90 and score <= 100:
print("A级")
elif score >= 80 and score <= 89:
print("B级")
elif score >= 70 and score <= 79:
print("C级")
elif score >= 60 and score <= 69:
print("D级")
elif score >= 0 and score <= 59:
print("E级")
else:
print("对不起,成绩有误,不在成绩的有效范围")
# 第二种写法
score = int(input("请输入一个成绩"))
if 90 >= score <= 100:
print("A级")
elif 80 >= score <= 89:
print("B级")
elif 70 >= score <= 79:
print("C级")
elif 60 >= score <= 69:
print("D级")
elif 0 >= score <= 59:
print("E级")
else:
print("对不起,成绩有误,不在成绩的有效范围")
# 嵌入式
# 会员>=200 8折 >=100 9折 不打折
# 非会员>=200 9.5折 不打折
answer = input("你是会员吗?y/n")
money = float(input("请输入购物金额"))
# 外层判断是否式会员
if answer == "y": # 会员
if money >= 200:
print("打8折,付款金额为:", money * 0.8)
elif money >= 100:
print("打9折,付款金额为:", money * 0.9)
else:
print("不打折,付款金额为:", money)
else: # 非会员
print("非会员")
if money >= 200:
print("打9.5折,付款金额为:", money * 0.95)
else:
print("不打折,付款金额为:", money)
#从键盘录入两个整数,比较两个整数的大小
num_a=int(input("请输入一个整数"))
num_b=int(input("请输入一个整数"))
#比较大小
'''if num_a>=num_b:
print (num_a,"大于等于",num_b)
else:
print(num_a,"小于",num_b)
'''
print("使用条件表达式进行比较")
print(str(num_a)+"大于等于"+str(num_b) if num_a>=num_b else str(num_a)+"小于"+str(num_b) )
#range的三种表达式
r=range(10)
print(r)
print(list(r))
r=range(1,10)
print(list(r))
r=range(1,10,2)
print(list(r))
#判断指定的整数,再序列中是否存在
print(10 in r)
print(9 in r)
print(10 not in r)
print(9 not in r)
#占用空间一样,只有用的时候才会计算列种相关元素
print(range(1,20,1))
print(range(1,101,1))
#循环结构
a=1
if a<10:
print(a)
a+=1
while a<10:
print(a)
a+=1
# 四步循环法
sum = 0
'''初始变量为0'''
a = 0
'''条件判断'''
while a < 5:
"执行条体(循环体)"
sum += a
"改变变量"
a += 1
print("和为", sum)
# 计算1到100之间的偶数和
sum=0 #储存偶数和
'''初始化变量'''
a=1
'''条件判断'''
while a<=100:
'''条件执行体(求和'''
if not bool(a%2):
sum+=a
a+=1
print("1-100之间的偶数之和",sum)
for item in "Python":#第一次去取出来的是P,将P赋值给item,将item的值输出
print(item)
#range()产生一个整数序列,————>也是一个可迭代对象
for i in range(10):
print(i)
#如果再循环体种不需要使用到自定义变量,可将自变量定义为“-”
for _ in range(5):
print ("人生苦短,我用Python")
print("使用for,循环,计算1-100之间偶数之和")
sum=0
for item in range(1,101):
if item %2==0:
sum+=item
print("1到100之间的偶数和为:",sum)
#输出100到999之间的水仙花数,举例153=3*3*3+5*5*5+1*1*1
for item in range(100,1000):
ge=item%10
shi=item//10%10
bai=item//100
#print(ge,shi,bai)
if ge**3+shi**3+bai**3==item:
print(item)
"""从键盘录入密码,最多录入3次,如果正确就结束循环"""
for item in range(3):
pwd = input("请输入密码")
if pwd == "8888":
print("密码正确")
break
else:
print("密码不正确")
"""从键盘录入密码,最多录入3次,如果正确就结束循环"""
for item in range(3):
pwd = input("请输入密码")
if pwd == "8888":
print("密码正确")
break
else:
print("密码不正确")
""""要求输出1到50之间所有5的倍数
要求使用continue实现
"""
for item in range(1, 51):
if item % 5 == 0:
print(item)
print("....使用continue实现.....")
for item in range(1,51):
if item % 5 != 0:
continue
print(item)
# else搭配使用
for item in range(3):
pwd = input("请输入密码")
if pwd == "8888":
print("密码正确")
break
else:
print("密码不正确")
else:
print("对不起,三次你们均输入错误")
a = 0
while a < 3:
pwd = input("请输入密码")
if pwd == "8888":
print("密码正确")
break
else:
print('密码不正确')
"""改变变量"""
a += 1
else:
print("对不起,三次密码均输入错误")
"""输出一个三行四列的矩形"""
for i in range(1, 4): # 行数,执行三行
for j in range(1, 5):
print("*", end="\t") # 不换行输出
print() # 打行
for i in range(1,10):#行数
for j in range(1,i+1):
print(i,"*",j,"=",i*j,end="\t")
print()
#流程控制语句break,与continue在二重循环中的使用
for i in range(5):
for j in range(1,11):
if j%2==0:
break
print(j)
for i in range(5):
for j in range(1,11):
if j%2==0:
continue
print(j,end="\t")
print()
#列表的描述
a=10 #变量存储的是一个对象的引用
lst=["helli","world",98]
print(id(lst))
print(type(lst))
print(lst)
# 创建列表的第一种方式,使用[]
lst = ["hello", "world", 98,"hello"]
print(lst)
print(lst[0],lst[-1])
# 创建列表的第二种方式,使用内置函数list()
lst2 = list(["hello", "world", 98])
# 用index()获取列表中的单元素
lst = ["hello", "world", 98, "hello"]
print(lst.index("hello"))
print(lst.index("hello", 1, 4))
lst = ["hello", "world", 98, "hello", "world", 234]
# 获取索引元素
print(lst[2])
print(lst[-3])
# 列表切片
lst = [10, 20, 30, 40, 50, 60, 70, 80]
# start=1,stop=6,step
print(lst[1:6:1])
print("原列表", id(lst))
lst2 = lst[1:6:1]
print("切片片段:", id(lst2))
print("....stop步长为正数........")
print(lst[1:6]) # 默认步长为1
print(lst[1:6:])
# start=1,stop=6,step=2
print(lst[1:6:2])
# start=6,stop=2,start采用默认
print(lst[:6:2])
# start=1,step=2.stop采用默认
print(lst[1::2])
print("......stop步长为负数........")
print("原列表:",lst)
# start,stop省略,stop=-2
print(lst[7::-1])
# start=6,stop=0,step=-2
print(lst[6:0:-2])
# 列表元素查询
print("p" in "python")
print('k'not in "python")
lst = [10, 20, "python", "hello"]
print(10 in lst)
print(100 in lst)
print(10 not in lst)
print(100 not in lst)
print("....依次输出......")
for item in lst:
print(item)
# 增加操作 向列表的末尾添加一个元素
lst = [10, 20, 30]
print("添加元素之前", lst,id(lst))
lst2 = ["hello", "world"]
# lst.append(lst2) # 将lst作为一个元素添加到列表的末尾
lst.extend(lst2) # 在lst末尾一次性添加多个元素
print(lst)
lst.insert(1, 90) # 在任意位置添加一个元素
print(lst)
lst3 = [True, False, "hello"]
# 在任意位置上添加N多个元素
lst[1:] = lst3
print(lst)
# 删除操作
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30) # 从列表中删除一个元素,如果有重复的元素值删除第一个
print(lst)
lst.pop(1)
print(lst)
lst.pop() # 如果不指定元素会将最后一个元素删除
print(lst)
print("....切片操作删除至少一个元素,将生产一个新的类表对象...........")
new_list=lst[1:3]
print("原列表", lst)
print("切片后的列表", new_list)
"""不产生新的列表对象,而是删除列表中的内容"""
lst[1:3] = []
print(lst)
"""清除列表中的所有元素"""
lst.clear()
print(lst)
"""del语句将列表对象删除"""
del lst
print(lst)
# 列表的修改
lst = [10, 20, 30, 40]
# 修改一个值
lst[2] = 100
print(lst)
lst[1:3] = [300, 400, 500, 600]
print(lst)
# 列表函数的排序
lst = [20, 40, 10, 98, 54]
print("排序前的列表",lst,id(lst))
lst.sort()
print("排序后的列表",lst,id(lst))
# 通过指定关键字参数,对列表中的元素进行降序
lst.sort(reverse=True)
print(lst)
lst.sort(reverse=False)
print(lst)
print("使用内置函数sorted,对列表进行排序,将产生一个新的类表对象")
lst = [20, 40, 10, 98, 54]
print("原列表",lst)
new_list = sorted(lst)
print(lst)
print(new_list)
# 指定关键参数,是列表元素的降序排序
dose_list = sorted(lst,reverse=True)
print(dose_list)
# 列表生成式
lst = [i*i for i in range(1, 10)]
print(lst)
"""列表中原色的值为2,4,6,8,10"""
lst2 = [i*2 for i in range(1, 6)]
print(lst2)
# 字典的创建方式
"""使用{}创建字典"""
scores = {"张三": 100, "李四": 98, "王五": 45}
print(scores)
print(type(scores))
"""第二种创建dict()"""
student=dict(name="jack",ager=20)
print(student)
"""空字典"""
d = {}
print(d)
# 获取字典的元素
scores = {"张三": 100, "李四": 98, "王五": 45}
"""使用[]"""
print(scores["张三"])
"""使用get()"""
print(scores.get("张三"))
print(scores.get("陈六"))
print(scores.get("麻七", 99))
"""key 的判断"""
scores = {"张三": 100, "李四": 98, "王五": 45}
print("张三" in scores)
print("张三" not in scores)
del scores["张三"] # 删除指定key
print(scores)
scores["陈六"] = 98 # 新增元素
print(scores)
scores["陈六"] = 100
print(scores)
# 获取字典的三种方式
scores = {"张三": 100, "李四": 98, "王五": 45}
keys = scores.keys()
print(keys)
print(type(keys))
print(list(keys))
"""获取所有值"""
values = scores.values()
print(values)
print(type(values))
print(list(values))
"""获取所有的ke-valeue对"""
items = scores.items()
print(items)
print(list(items))
# 字典元素的遍列
scores = {"张三": 100, "李四": 98, "王五": 45}
for items in scores:
print(items)
scores = {"张三": 100, "李四": 98, "王五": 45}
for items in scores:
print(items, scores[items], scores.get(items))
# 字典的特点
d = {"name": "张三", "name": "李四"} # key不允许重复
print(d)
d = {"name": "张三", "nikename": "李四"} # value可以重复
print(d)
lst = [10, 20, 30]
lst.insert(1, 100)
print(lst)
import random
secret = random.randint(1, 10)
temp = input("不妨猜一下小甲鱼现心里想的是哪个数字")
guess = int(temp)
while guess != secret:
temp = input("哎呀,猜错了,请重新输入吧")
guess = int(temp)
if guess == secret:
print("你是小甲鱼的心里蛔虫么?!")
print("猜中了也没有奖励")
else:
if guess > secret:
print("哥,大了大了")
else:
print("嘿,小了,小了")
print("游戏结束,不玩啦")