# 最最基本 ## print函数 ### 在数据输出文件中 ```python #在数据输出文件中,注意点,1.存在指定的盘符。2.使用file=fp fp = open('C:/李林峰/text.txt', 'a ')#如果文件不存在,则创建它,并继续在文件内容后面添加它 print('helloworld', file=fp) fp.close() #不进行换行输出(输出内容在一行中) print('hello','world','Python')
open输出到文件的方法是将其输出到文件中
print输出到显示器的方法是
不换行输出(输出内容在一行)
print('hello','world','Python')
常用的转义字符
print('hello\nworld') # 换行 n->newline print('hello\tworld') # 空了三隔 print('helloooo\tworld') # 空了四隔->tab键 print('hello\rworld') # world将hello进行了覆盖->return光标移动到本行开头 print('hello\bworld') # \是退格back print('http:\\\\www.bandu.com') print('老师说:\'大家好\'') #原字符,不希望字符串中的转义字符工作,即在元字串之前添加r或R print(r'hello\nworld') #注意,最后一个字符不能是反斜杠,而是两个反斜杠 print(r'hello\nworld\\')
定义和使用变量
name = '玛利亚' print(name) print('标识', id(name)) print('类型', type(nme))
print('值', name)
数据类型
·常见的数据类型
·整数类型->int->98
·浮点数类型->float->3.14159
·布尔类型->bool->True,False
·字符串类型->str->人生苦短
整数类型
#整数可以表示二进制,十进制,八进制,十六进制
print('十进制',118)#默认十进制
print('二进制',0b1010111)#二进制以0b开头
print('八进制',0o176)#八进制以0o开头
print('十六进制',0x1EAF)
浮点类型
n1 = 1.1
n2 = 2.2
print(n1+n2)#3.3000000000000003
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))#3.3
布尔类型
f1 = True
f2 = False
print(f1,type(f1))#True <class 'bool'>
print(f2,type(f2))#False <class 'bool'>
#布尔值可以转成整数计算
print(f1+1) #2 1+1的结果为2,True表示1
print(f2+1) #1 0+1的结果为2,False表示0
字符串类型
str1 = '人生苦短,我用python'
str2 = "人生苦短,我用python"
str3 = """人生苦短, 我用python"""
str4 = ‘‘‘人生苦短,
我用python’’’
#单引号和双引号定义的字符串必须在一行
print(str1,type(str1))#人生苦短,我用python<class 'str'>
print(str2,type(str2))
#三引号定义的字符串可以分布在连续的多行
print(str3,type(str3))
print(str4,type(str4))
类型转换_str()函数与int()函数
str()函数
name = '张三'
age = 20
print(type(name),type(age))#说明name与age的数据类型不相同
print('我叫'+name+'今年'+age+'岁')#当将str类型与int类型进行链接时,报错,解决方案,类型转换
print('我叫'+name+'今年'+str(age)+'岁')
int()函数
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))) #将str转成int类型,字符串为数字串
print(int(f1), type(int(f1))) #float转成int类型,截取整数部分,舍掉小数部分
# print(int(s2), type(int(s2))) #将str转成int类型,报错,因为字符串为小数串
print(int(ff), type(int(ff)))
#print(int(s3), type(int(s3))) #将str转成int类型,字符串必须为数字串(整数),非数字串是不允许转换的
float类型转换
#字符串中的数据如果是非数字串,则不允许转换
Python中的注释
#单行注释
"""我是多行注释 """
Input函数的使用
present = input('大圣想要什么礼物呢')#输入之前程序给你的一个提示语 需要输入回答
input函数的高级使用
a = input('请输入一个加数:')#10
b = input('请输入另一个加数:')#10
print(type(a), type(b))#<class 'str'><class 'str'>
print(a + b)#1020
a = input('请输入一个加数:')#10
b = input('请输入另一个加数:')#10
print(type(a), type(b))#<class 'str'><class 'str'>
print(int(a) + int(b))#30
或者a = int(input('请输入一个加数:'))
运算符
算数运算符
print(1+1)# 加法运算
print(1-1) # 减法运算
print(2*4)# 8 乘法运算
print(1/2)# 除法运算
print(11/2)#5.5 除法运算
print(11//2)# 5 整除运算
print(11%2)# 1 取余运算
print(2**2)# 4 表示的是2的2次方
print(2**3)# 8 表示的是2的3次方
含减号的运算
print(9 // 4) # 2
print(-9 // -4) # 2
print(9 // -4) # -3
print(-9 // 4) # -3 一正一负的整数公式,向下取整
print(9 % -4) # -3 余数=被除数-除数*商 9-(-4)*(-3)
print(-9 % 4) # 3
赋值运算符
#解包赋值
a,b,c=20,30,40
print(a,b,c)
print('-----------交换两个变量的值----------')
a,b=10,20
print('交换之前:',a,b)#交换之前:10 20
#交换
a,b=b,a
print('交换之后:',a,b)#交换之后:20 10
比较运算符
a,b=10,20
print('a>b吗',a>b)#False
print('a<b吗',a<b)#True
print('a<=b吗',a<=b)#True
print('a>=b吗',a>=b)#False
print('a==b吗',a==b)#False
print('a!=b吗',a!=b)#True
a=10
b=10
print(a==b)#True 说明,a与b的value相等
print(a is b)#True 说明, a与b的id标识相等
#以下代码没学过,后面会给大家讲解
llist1=[11,22,33,44]
llist2=[11,22,33,44]
print(lstr1==lstr2)#value -->True
print(lstr1 is lstr2)#id -->False
print(id(lstr1))#267587787
print(id(lstr2))#787897988
print(lstr1 is not lstr2) #True
布尔运算
#and并且
#or或者
#not 对bool类型操作数取反
f=True
f2=False
print(not f)#False
print(not f2)#True
#in与not in
s = 'helloworld'
print('w' in s)#True
print('k' in s)#False
print('w' not in s)#False
print('k' not in s)#True
位运算
print(4 & 8) # 0 按位于&,同为1时结果为1
print(4 | 8) # 12 按位或|,同为0时结果为0
print(4 << 1) # 8 向左移动1位(移动一个位置)相当于乘以2
print(4 << 2) # 16 向左移动2位(移动2个位置)
print(4 >> 1) # 2 向右移动1位,相当于除以2
print(4 >> 2) # 1 向右移动2位,相当于除以4
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mGcjj80O-1643201540460)(C:\Users\10596\AppData\Roaming\Typora\typora-user-images\image-20220119175339789.png)]
运算符的优先级
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DxA00Btf-1643201540461)(C:\Users\10596\AppData\Roaming\Typora\typora-user-images\image-20220119180200590.png)]
对象的布尔值
print(bool(False))#False
print(bool(0))#False
print(bool(0.0))#False
print(bool(None))#False
print(bool(''))#False
print(bool(""))#False
print(bool([]))#False空列表
print(bool(list()))#False空列表
print(bool(()))#False空元组
print(bool(tuple))#False空元组
print(bool({
}))#空字典
print(bool(dict()))#False空字典
print(bool(set()))#False空集合
其他的bool值为True
print(bool(18))#True
print(bool('helloworld'))#True
选择结构
单分支结构
money = 1000
s = int((input('请输入取款金额')))#取款金额
#判断金额是否充足
if money>=s:
money=money-s
print('取款成功,金额为:',money)
双分支结构
num = int(input('请输入一个整数'))
#条件判断
if num%2==0:
print(num,'是偶数')
else:
print(num,'是奇数')
多分支结构
score = int(input('请输入一个成绩:'))
# 判断
if 90 <= score <= 100:
print('A级')
elif 80 <= score < 90:
print('B级')
elif 70 <= score < 80:
print('C级')
elif 60 <= score < 70:
print('D级')
elif 0 <= score < 59:
print('E级')
else:
print('对不起,您输入的成绩有误,不再成绩的有效范围内')
嵌套if的使用
answer=input('您是会员吗?y/n')
money=float(input('请输入您的购物金额:'))
#外层判断是否是会员
if answer=='y':
if money >= 200:
print('打八折,付款金额为:',money*0.8)
elif money>=100:
print('打九折,付款金额为:',money*0.9)
else:
print('不打折,付款金额为:',money)
else:
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('使用条件表达式进行比较')
#条件判断的结果为true,就执行左边的内容,为false,执行右侧的代码
print(str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str(num_a)+'小于'+str(num_b))
pass语句
#pass语句,什么都不做,只是一个占位符,用到需要些语句的地方
answer=input('您是会员吗?y/n')
#判断是否是会员
if answer == 'y':
pass
else:
pass
range的三种创建方式
#range()的三种创建方式
''''第一种方式,只有一个参数(小括号中只给一个数)''''
r = range(10) #[0,1,2,3,4,5,6,7,8,9],默认从0开始,默认相差1位步长
print(r)#range(0,10)
print(list(r))#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#用于查看range对象中的整数序列-->list是列表的意思
''''第二中创建方式,给了两个数(小括号中给了连个数)''''
r=range(1,10)#指定了起始值,从1开始,到10结束(不包含10),默认步长为1
print(list(r))#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
''''第三种创建方式,给了三个参数(小括号中给了三个数)''''
r=range(1,10,2)
print(list(r))#[1,3,5,7,9]
'''判断指定的整数在序列中是否存在in,not in'''
print(10 in r)#False,10不在当前的r这个整数系列中
print(9 in r)#True,9在当前的r这个序列中
print(10 not in r)#True
while循环结构
sum=0
a=0
while a<5:
sum+=a
a++
print('和为',sum)
while练习题
sum=0
a=1
while a<=100:
if a%2==0:
sum+=a
a+=1
print('1-100之间的偶数和',sum)#因为print和while是对齐的,所以print没有进入while循环
for-in循环
for item in 'Python':#第一次取出来的是P,将P赋值给item,将item的值输出 print(item) #range() 产生一个整数序列---》也是一个可迭代对象 for i in range(10): print(i)#1 2 3 4 5 6 7 8 9 #如果在循环体中不需要使用自定义白能量,可将自定义变量写为“_” 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的水仙花数
for item in range(100, 1000):
ge = item % 10
shi = item // 10 % 10
bai = item // 100
if ge ** 3 + shi ** 3 + bai ** 3 == item:
print(item)
循环控制语句break
for item in range(3): pwd = input('请输入密码:') if pwd == '8888': print 标签:m8直头专用连接器