print('helloworld')
print(520)
print(98.5)
print('helloworld')
print("helloworld")
print(520)
print(98.5)
#含有运算符的表达式
print(2+4)
#将数据输出到文件中,注意点:
#1 所指定的盘要存在
#2 使用file= fp
fp=open('D:/pycharm/pythod_project/text.txt','a+') # a+ 如果文件不存在就创建,存在就在文件内容后面继续追加
print('helloworld',file=fp)
fp.close()
#不进行换行输出(输出内容在一行当中)
print('hello','world','pythod')
#转义字符
print('hello\nworld') #\ +转义字符的首字母 n--》newline的首字母表示换行
print('hello\tworld') #hell 4个字母占用一个制表位,o和\t占用4个字母的位置,所以这个\t只占了3个字母的位置
print('helloooo\tworld')#hell 4个字母占用一个制表位,oooo占用4个字母的位置,所以这个\t只占了4个字母的位置
print('hello\rworld') #world将hello进行了覆盖
print('hellohello\rworld') #world将hello进行了覆盖
print('hello\bworld')# 退一个格,hellworld
print('http:\\\\www.baidu.com') # http:\\www.baidu.com
#原字符,不希望字符串中的转义字符起作用,就使用原字符,就是在字符串前面加r
print(r'hello\nworld')#hello\nworld
#注意:最后一个字符不能是反斜杠
#print(r'hello\nworld\')#不可以
print(r'hello\nworld\\')#ok
'''
1,二进制与字符编码
2,Python中的标识符与保留字
3,Python中的变量与数据类型
'''
#1,二进制与字符编码
print(chr(0b100111001011000))
print(ord('乘'))
#2,Python中的标识符与保留字
import keyword
print(keyword.kwlist)
#3,Python中的变量与数据类型
name='好厉害!'
print(name)
print('标识',id(name)) #标识 2008070949104 -->内存地址
print('类型',type(name))#类型 <class 'str'>
print('值:',name) # 值: 好厉害!
name='好' #当变量多次赋值后,变量名会指向新的空间
print(name)
print('标识',id(name)) #标识 2170581759152 -->内存地址
print('类型',type(name))#类型 <class 'str'>
print('值:',name) # 值: 好
#4,Python中的注释
# 整数变量
n1 = 1
n2 = -77
n3 = 0
print(n1, type(n1))
print(n2, type(n2)) # -77 <class 'int'>
print(n3, type(n3)) # 0 <class 'int'>
print('二进制', 0b10001100011) # 二进制以0b开头
print('八进制', 0o176) # 八进以0o开头
print('十六进制', 0x1EFA) # 十六进制以0x开头
a = 3.1415926
print(type(a))
n1 = 1.1
n2 = 2.2
print(n1 + n2) # 3.3000000000000003
print(1.1 + 2.1)
# 二进制的底层问题
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) # 1+1的结果2
print(f2 + 1)
str1 = '人生苦短,' \
'我用python'
str2 = "人生苦短,我用python"
str3 = '''人生苦短,
我用python
'''
print(str1, type(str1))
print(str2, type(str2))
print(str3, type(str3))
# 数据类型转换:将不同数据类型进行拼接的时候需要数据类型转换
name = '正山'
age = 34
print(type(name), type(age))
# print('我叫'+name+'今年'+age+'岁')#报错了
print('我叫' + name + '今年' + str(age) + '岁') # 将int类型通过str()转换成字符串,就我叫正山今年34岁
# str() int() folat()
a = 10
b = 198.89
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)))
print(type(a), type(b), type(c))
print('----------------int()将其他数据类型转成int类型--------------------')
s1 = '128'
f1 = 343.324
s2 = '34.345'
ff = True
s3 = 'hello'
print(type(s1), type(f1), type(s2), type(s3)) # <class 'str'> <class 'float'> <class 'str'> <class 'str'>
print(int(s1), type(int(s1))) # 将str转成int类型,字符串为 数字串
'''
原因:由于python不能直接将包含小数点的字符串转化为整数,而原始数据的格式经常是不一致的,故类型转化时造成ValueError异常。
解决方法:先将字符串转换为浮点数float,在将浮点数转化为整数int。
'''
print(int(float(s2)), type(int(float(s2)))) # 将float转成int类型,截取整数部分,舍掉小数部分
print(int(ff), type(int(ff)))
# print(int(s3), type(int(s3))) # 将str转换成int类型时,字符串必需为数字串(整数),非数字串是不允许转换
print('----------------float()将其他数据类型转成float类型--------------------')
s1 = '128.66'
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)))
# print(float(s3))#字符串中数据非数字串,则不允许转换 could not convert string to float: 'hello'
'''
多行
注释
#coding:utf-8
#或者
#coding:gbk
'''
# 开发时间:2023/6/4 10:19
# 输入函数input
# present = input('大圣想要神礼物呢?')
# print(present, type(present))
'''
a = int(input('请输入一个数:'))
b = int(input('请输入另一个数:'))
print(type(a), type(b))
print(a + b)
'''
print(11 / 2) # 5.5
print(11 // 2) # 5 整除 ,只取结果的整数部分
print(11 % 2) # 余数1 取余运算
print(2 ** 2) # 表示2的2次方
print(2 ** 3) # 表示2的3次方
#
print(9 // 4) # 2
print(-9 // -4) # 2
print(-9 / 4) # -2.25
print(-9 // 4) # -3 一正一负,都需要向下取整,-2.25向下取整是-3
print(9 / 4) # 2.25
print(9 / -4) # -2.25
print('-----------取余-----------------')
print(9 % 4)
print(9 % -4) # -3 公式 余数=被除数-除数*商 9-(-4)*(-3)=-3
print(-9 % 4) # 3 -9-(4)*(-3) =3
print('-----------赋值原算符-----------------')
# 赋值原算符,运算顺序是从右到左
i = 3 + 4
print(i)
a = b = c = d = 30 # 链式赋值
print(a, id(a)) # 30 1183084211408
print(b, id(b)) # 30 1183084211408
print(c, id(c)) # 30 1183084211408
print('-----------支持参数赋值----------------')
a = 20
a += 10
print(a)
a -= 10
print(a)
a *= 2
print(a, type(a))
a /= 3
print(a, type(a))
a //= 2
print(a, type(a))
a /= 3
print(a, type(a))
print('-----------解包赋值----------------')
a, b, c = 10, 2, 40
print(a, b, c, id(a), id(b), id(c)) # 10 2 40
print('-----------交换两个变量的值----------------')
a, b = 10, 2
print(a, b)
a, b = b, a
print('交换之后')
print(a, b)
print('--比较运算符,比较后得出的结果为bool类型-----')
a, b = 10, 2
print(a > b) # True
print(a >= b)
print(a < b) # False
print(a <= b)
print(a != b)
print(a == b) # 一个 = 是赋值运算符, == 是比较运算符 ,比较的是值
# 一个变量由三部分组成:标识,类型,值
# 比较对象的标识使用 is
a = 10
b = 10
print(a == b) # True a与b的值相等
print(id(a), id(b)) # 2031265344080 2031265344080
print(a is b) # True a与b的标识相同,比较的是id
print(a is not b) # id -->False
list1 = [11, 22, 33, 44]
list2 = [11, 22, 33, 44]
print(list1 == list2) # True 值相等
print(id(list1), id(list2)) # 2252909788160 2252909831680 标识不等
print(list1 is list2) # False
print(list1 is not list2) # True
# 布尔运算
print('---------------and-----------------------')
a, b = 1, 2
print(a == 1 and b == 2) # True
print(a == 1 and b < 2)
print(a != 1 and b == 2)
print('------------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)
print('------------not 对bool类型的取反-----------')
f = True
f2 = False
print(not f)
print(not f2)
print('-----------in与not in---------------------')
str1 = 'helloworld'
print('w' in str1)
print('w' not in str1)
print('hello' in str1)
print('hell' not in str1)
print('k' in str1)
print('k' not in str1)
print('--------位运算------------')
print(4 & 8)
print(13 & 8) # 二进制相同位置同为1,才为1,算出结果换成10进制 1000 & 1101 -》 1000
print(4 | 8) # 按位或
print(4 >> 2) # 1
print(4 << 3) # 32
'''
有括号先算括号
算术运算 优先级高于
位运算 优先级高于
比较运算 优先级高于
布尔运算 优先级高于
赋值运算
'''
# 开发时间:2023/6/4 16:22
'''
Python 一切皆对象,所有对象都有一个布尔值
使用内置函数bool()
以下对象的布尔值为False
False
数值0
None
空字符串
空列表
空元组
空字典
空集合
'''
# 测试对象的布尔值
print('-------------以下对象的布尔值为False--------------------')
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(''))
print(bool(""))
print(bool([])) # 空列表[]
print(bool(list())) # 空列表
print(bool(())) # 空元组()
print(bool(tuple())) # 空元组
print(bool({})) # 空字典 {}
print(bool(dict())) # 空字典
print(bool(set())) # 空集合
print('---------------------------------')
print('-------------其他对象的布尔值为True--------------------')
print(bool(18))
print(bool('hello'))
print('---------------------------------')
# money = 1000
# s = int(input('请输入取款金额:'))
#
# if s <= money:
# money -= s
# print('取款成功,余额为:', money)
# else:
# print('余额不足:', money)
'''
print('---------------判断奇偶数------------------')
num = int(input('请输入一个整数:'))
# 判断条件
if num % 2 == 0:
print(num, '是偶数')
else:
print(num, '是奇数')
90-100 A
80-90 B
70-79 C
60-69 D
0-59 E
小于0或大于100,为非法数据
score = int(input('输入一个成绩:'))
# 判断
# if score >= 90 and score <= 100:
# print('seore =', score, ' you get A')
# elif score>=80 and score<=89:
# print('seore =', score, 'get B')
# elif score>=70 and score<=79:
# print('seore =', score, 'get C')
# elif score>=60 and score<=69:
# print('seore =', score, 'get D')
# elif score>=0 and score<=59:
# print('seore =', score, 'get E')
# else:
# print('输入的成绩不合法')
# 写法二:
if 90 <= score <= 100:
print('seore =', score, ' you get A')
elif 80 <= score <= 89:
print('seore =', score, 'get B')
elif 70 <= score <= 79:
print('seore =', score, 'get C')
elif 60 <= score <= 69:
print('seore =', score, 'get D')
elif 0 <= score <= 59:
print('seore =', score, 'get E')
else:
print('输入的成绩不合法')
'''
'''
会员 >=200 8折
>=100 9折
<100 不打折
非会员
>=200 9.5折
不打折
'''
# vip = input('顾客是不是会员? y/n')
# money = float(input('消费的总金额:'))
# if vip == 'y':
# if money >= 200:
# print("打8折,请您付款:", money * 0.8)
# elif 100 <= money < 200:
# print("打9折,请您付款:", money * 0.9)
# elif money < 100:
# print("请您付款:", money)
# else:
# if money >= 200:
# print("打95折,请您付款:", money * 0.95)
# else:
# print("请您付款:", money)
# print('使用条件表达式进行比较')
# num1 = float(input('输入一个数字:'))
# num2 = float(input('输入一个数字:'))
# print((str(num1) + '大于等于' + str(num2)) if num1 >= num2 else (str(num1) + '小于' + str(num2)))
# 34集pass语句
# pass语句,什么都不做,只是一个占位符,用到需要写语句的地方
# answer=input("y/n")
# if answer=='y':
# pass
# else:
# print("n")
# 35集range()函数
'''
range()函数用于生成一个整数序列
创建range对象的三种方式:
range(stop) 创建一个[0,stop)之间的整数序列,步长为1
range(start,stop) 创建一个[start,stop)之间的整数序列,步长为1
range(start,stop,step) 创建一个[start,stop)之间的整数序列,步长为step
返回值是一个迭代器对象
range类型的优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,
因为仅仅需要存储start,stop,step,只有用到range对象时,才会去计算序列中的相关元素
一般我们会使用range序列作为for循环的对象
in 与not in判断整数序列中是否存在指定的整数
'''
print('=============================')
r = range(10)
print(r) # range(0, 10)
print(list(r)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
r2 = range(5, 14)
print(r2) # range(5, 14)
print(list(r2)) # [5, 6, 7, 8, 9, 10, 11, 12, 13]
r3 = range(1, 20, 3)
print(r3) # range(1, 20, 3)
print(list(r3)) # [1, 4, 7, 10, 13, 16, 19]
range(1, 101, 1) # [1....100]
print('======判断指定整数在序列中是否存在======================')
print(10 in r)
print(10 not in r)
print(10 in r2)
print(10 in r3)
print('============36集while循环=================')
# 37集while循环
a = 1
while a < 10:
print(a)
a += 1
a = 0
result = 0
while a < 5:
result += a
a += 1
print("和为:", result)
print('============37集while循环计算1到100之间偶数之和=================')
a = 1
sum1 = 0
while a <= 100:
if not bool(a % 2): # if a % 2 == 0
sum1 += a
a += 1
print("1到100之间偶数之和:", sum1)
print('============38集for in循环=================')
'''
for in循环
in表达从(字符串,序列等)中依次取值,又称为遍历
for in遍历的对象必须是可迭代的对象
语法:
for 自定义的变量 in 可迭代对象:
循环语句
'''
# r = range(1, 101, 2)
for item in 'Python': # 第一次取出来的是P,将值赋值给item,然后输出
print(item)
for i in range(1, 10):
print(i)
# 如果在循环体中不需要使用自定义变量,可将自定义变量写为 "_"
for _ in range(5): # 循环次数5
print("认识苦短,我用Python") # 输出5次
print('============while循环计算1到100之间偶数之和=================')
sum3 = 0
for i in range(1, 101):
if i % 2 == 0:
sum3 += i
print("sum=", sum3)
print('============39集for in循环练习=================')
'''
输出100到999之间的水仙花数
example: 153 =1*1*1+5*5*5+3*3*3
'''
print(153 % 10)
print((153 // 10) % 10)
print(153 // 100)
for i in range(100, 1000):
if i == ((i % 10) ** 3 + ((i // 10) % 10) ** 3 + (i // 100) ** 3):
print("水仙花数:", i)
print('============40集break 退出循环=================')
# for i in range(3):
# pwd = input('请输入密码:')
# if pwd == '888':
# print('密码正确,欢迎登录!')
# break
# else:
# print('密码不正确,请重新输入,您还有', 2 - i, '次机会')
'''
a = 0
while a < 3:
pwd = input('请输入密码:')
if pwd == '888':
print('密码正确,欢迎登录!')
break
else:
print('密码不正确,请重新输入,您还有', 2 - a, '次机会')
a += 1
'''
print('============41集continue=================')
'''
输出1-50之间的,所有5的倍数的数字
'''
for i in range(1, 51):
if i % 5 != 0:
continue
print(i)
print('============42集 else=================')
# for i in range(3):
# pwd = input('请输入密码:')
# if pwd == '888':
# print('密码正确,欢迎登录!')
# break
# else:
# print('密码不正确,请重新输入,您还有', 2 - i, '次机会')
# else:
# print("对不起三次密码都不对,账户已锁定!")#循环非break原因结束后,会输出这句话
# a = 0
# while a < 3:
# pwd = input('请输入密码:')
# if pwd == '888':
# print('密码正确,欢迎登录!')
# break
# else:
# print('密码不正确,请重新输入,您还有', 2 - a, '次机会')
# a += 1
# else:
# print("对不起三次密码都不对,账户已锁定!") # 循环非break原因结束后,会输出这句话
print('============43集嵌套循环=================')
for i in range(1, 10):
for j in range(1, 10):
if i <= j:
print(i, '*', j, '=', j * i, end='\t') # 不换行输出
print()
print()
for i in range(1, 10):
for j in range(1, 10):
if i >= j:
print(i, '*', j, '=', j * i, end='\t') # 不换行输出
print()
print('============44集 二层循环的break和continue=================')
for i in range(5):
for j in range(1, 11):
if j % 2 == 0:
# break
continue
print(j, end='\t')
print()
Python 学习笔记1
最新推荐文章于 2023-06-28 14:30:39 发布