Python 学习笔记1


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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aFakeProgramer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值