Python入门学习(一)Print函数、Input函数、基本数据类型、运算符、流程控制语句、循环语句

时间:2021-2-20 作者:admin

文章目录

Python入门

Python开发工具的使用:Pycharm的配置使用
第一章:Python入门学习(一)Print函数、Input函数、基本数据类型、运算符、流程控制语句、循环语句
第二章:Python入门学习(二) 列表的增删改查
第三章:Python入门学习(三) 字典的增删改查
第四章:Python入门学习(四)元组与集合
第五章:Python入门学习(五)字符串的操作
代码仓库地址:Python入门项目

print打印函数

# author:LiuShihao
# data: 2020/11/21 2:37 下午
# print 打印函数
# 打印整数
print(111)
# 打印浮点数
print(1.111)
# 打印表达式
print(1 + 1)
# 打印字符串
print("HelloWorld")

# 以上是将内容输出的控制台  print函数还可以将内容输出到文件  a+   的意思是说如果文件不存在的话会自动创建  追加
fp = open("/Users/LiuShihao/Desktop/Python3/print.txt", "a+")
print("HelloWorld", file = fp)
fp.close()

# 不进行换行输出
print("Hello","World","Python")

转义字符

反斜杠+想要实现的转义功能的首字母
当字符串中包含反斜杠、单引号和双引号等有特殊用途的字符时,,必须使用反斜杠对这些字符进行转义(转换一个含义)
反斜杠:\
单引号:’
双引号:”
当字符串中包含换行、回车、水平制表符或者退格等无法直接表示的特殊字符时,也可以使用转义字符
换行:\n
回车:\r
水平制表符:\t
退格:\b

# 转义字符
print("Hello\nWorld")   # \ + 转义功能的首字母  newline
print("Hello\tWorld")   # 制表符
print("Helloooo\tWorld")
print("Hello\rWorld")   # 回车
print("Hello\bWorld")   # 退格
# 原字符   不希望字符串中的转义字符起作用  就在字符串前加上r或R   注意事项  字符串最后一个字符不能是反斜线
print(r"Hello\nWorld")
# print(r"Hello\nWorld\")  # 不可以
print(r"Hello\nWorld\\")   # 可以

2^8=256 ASCll表

Python中的标识符和保留字

查看保留字

import keyword
print(keyword.kwlist)

Python入门学习(一)Print函数、Input函数、基本数据类型、运算符、流程控制语句、循环语句

变量

name = "玛利亚"
print("标识",id(name))
print("类型",type(name))
print("值",name)

基本数据类型

Java的基本数据类型:四类八种:
整型:byte、short、int、long
浮点型:float单精度、double双精度
字符:char
布尔:true、false

而Python的基本数据类型
常用的数据类型:

  1. 整数:int 可以表示 正数、负数和零
    整数的不同进制 的表示方式
    十进制 默认的进制
    二进制 以0b开头
    八进制 以0o开头
    十六进制 以0x开头
  2. 浮点数:float
  3. 布尔:true、false
  4. 字符串:str
# int  整数
print("十进制",100)
print("二进制",0b100)
print("八进制",0o1346)
print("十六进制",0x1EAF)
# 浮点数  存储不精确    使用浮点数计算时 可能会出现小数位数不确定的情况  解决方案 :导入模块decimal  :from decimal import Decimal
from decimal import Decimal
print(1.1+2.1)
print(1.1+2.2)
print(Decimal("1.1")+Decimal("2.2"))
# 布尔值  True表示真  False 表示假 布尔值可以转化为整数  True——>1   False-->0
print(True+1)
print(False+1)
# 字符串类型 不可变的字符序列 可以用单引号、双引号和三引号   但是单引号和双引号必须在一行   三引号可以在分布在连续的多行
str1 = '人生苦短,我用Python'
str2 = "人生苦短,我用Python"
str3 = '''
人生苦短
我用Python
        '''
str4 = """
人生苦短
我用Python
"""

print(str1)
print(str2)
print(str3)
print(str4)

Python入门学习(一)Print函数、Input函数、基本数据类型、运算符、流程控制语句、循环语句

类型转换

Python入门学习(一)Print函数、Input函数、基本数据类型、运算符、流程控制语句、循环语句

# author:LiuShihao
# data: 2020/11/23 7:43 下午
# desc:  类型装换
name = "张三"
age = 18
print(type(name),type(age))  # <class 'str'> <class 'int'>
# print("我叫"+name+",今年"+age+"岁")   使用str()  函数将int类型装换成str类型
print("我叫"+name+",今年"+str(age)+"岁")
# ----------------将其他类型转成str类型
a = 1  # int  类型
b = 1.1# float 类型
c = False # bool类型
print(type(a),type(b),type(c)) # <class 'int'> <class 'float'> <class 'bool'>
print(type(str(a)),type(str(b)),type(str(c)))  # <class 'str'> <class 'str'> <class 'str'>
# ----------------将其他类型转成int类型
s1 ='123'   # 字符串  整数
f1 = 98.7   #  浮点数
s2 = '77.67' # 字符串  小数串
ff = True    # 布尔类型
s3 = "hello" # 字符串
print(type(s1),type(f1),type(s1),type(ff),type(s3))
print(int(s1),type(int(s1)))   # 将str转成int类型  str为整数
print(int(f1),type(int(f1)))   # 将浮点数转成int类型 但是会截取整数部分
# print(int(s2),type(int(s2)))   # 不可以将 小数字符串装换成int类型  报错
print(int(ff),type(int(ff)))     # 将布尔类型转换成 int类型
# print(int(s3),type(int(s3)))     # 不能将非数字字符串转成int类型   报错  即:将str转成int类型时,只能转换整数形式的字符串
# ----------------将其他类型转成float类型
s1 ='128.98'   # 字符串  整数
f1 = '76'   #  字符串   浮点数
ff = True    # 布尔类型
s3 = "hello" # 字符串
i = 98
print(type(s1),type(f1),type(ff),type(s3),type(i))
print(float(s1),type(s1))     # 小数类型的字符串可以转成float类型
print(float(f1),type(f1))     # 整数类型的字符串也可以转成float  会加上.0
print(float(ff),type(ff))     # buer类型也会转成float  加上.0
# print(float(s3),type(s3))   # 不能将非数字字符串装换成float类型
print(float(i),type(i))       # 整数int类型转换成float类型会加上.0

Python中的注释

单行注释

#开头,直到换行结束

# 单行注释  以#开头,直到换行结束

多行注释

将一对三引号之间的代码成为多行注释

""" 
三个双引号 的多行注释
"""

'''
三个单引号 的多行注释
'''

input函数的使用

present = input("你是谁?")
print(present)

# 要求从键盘输入两个整数 ,计算整数的和
a = int(input("请输入第一个数字"))
b = int(input("请输入第二个数字"))
print("两个数相加的和等于:"+str(a+b))

Python中的运算符

# author:LiuShihao
# data: 2020/11/23 8:30 下午
# desc: Python中的运算符 +(加) -(减) *(乘)   /(除) //(整除)   %(取余)   **(幂运算)
print(1+1) # 执行加法运算
print(1-1) # 减法
print(2*10) # 乘法
print(11/2) #除法
print(11//2)  # 整除运算
print(11%2)  # 取余运算   11 /2 = 5 ... 1
print(2**3)  #2*2*2
# 一正一负的整除以及取余情况
print(9//4)  # 两个正数进行整除   2
print(-9//-4) #两个负数          2
print(9//-4) #一正一负          -3   一正一负向下取整
print(-9//4) #一正一负          -3

print(9%-4)   # -3
print(-9%4)   #  3

a = 10
a+=10    # a = a+10
print(a)
a-=10    # a = a-10
print(a)
a*=10    # a= a*10
print(a)
a/=10    # a= a/10
print(a)
# 支持系列解包赋值
a,b,c = 20,30,40
print(a)
print(b)
print(c)
# 交换两个变量的值
a,b = 10,20
print("交换之前:",a,b)
a,b = b,a
print("交换之后:",a,b)
# 比较运算符  > ,=, <, >=,  <=, == ,!=  比较运算符的结果是布尔类型 True或False
a,b = 10,20
print("a>b吗?",a>b)  # a>b吗? False
"""
一个=称为赋值运算符   ==称为比较运算符
  一个变量由三个部分组成 : 标识、类型、值
  == 比较的是标识还是值呢?
  == 比较的是value是否相同,即两者的值是否相同。
  比较对象d的标识使用 is
"""
a = 10
b = 10
print(a==b)   # True 说明a,b的value相等
print(a is b )# True  说明a,b的标识id也相等
lis1 = [11,22,33,44]
lis2 = [11,22,33,44]
print(lis1 == lis2)   # True
print(lis1 is lis2)   # False
print(id(lis1))   # 两个list的id指向不同的地址
print(id(lis2))

print(a is not b)
print(lis1 is not lis2)
# 布尔运算符  and ,or, in,not, not in
# and 当两个运算都为True时,结果才为True
# or  当两个运算有一个为True时,结果才为True
# not  对布尔类型取反   当为True时,结果为False
# in
s = "helloworld"
print('w' in  s) #w 是否在helloworld中存在
# not in
print('w' not in  s)
# 位运算符   左移位 高位溢出,低位补零   右移位  高位补零,低位截断
print(4<<1)  # 左移一位   相等于乘以2
print(4>>1)  # 右移一位   相等于除以2
print(4<<2)
print(4>>2)

# 运算符的优先级  先算乘除后算加减  有幂运算先做幂运算  有括号先算括号内容
# 算术运算>位运算>比较运算>布尔运算>赋值运算

流程控制语句

任何简单或复杂的算法都可以顺序结构、选择结构、循环结构三种基本结构组合而成

单分支

单分支结构 如果…就…
语法结构:

if 条件表达式:
    条件执行体

双分支

双分支结构 如果…就…否则就…
语法结构:

if 条件表达式:
    条件执行体1
else:
    条件执行体2

多分支

多分支结构 如果…就…否则就… 否则就…否则就…
语法结构:

if 条件表达式1:
    条件执行体1
elif 条件表达式2:
    条件执行体2
elif 条件表达式N:
    条件执行体N
else:
    条件执行体N+1 
# author:LiuShihao
# data: 2020/11/23 11:19 下午
# desc: 流程控制语句
# 任何简单或复杂的算法都可以顺序结构、选择结构、循环结构三种基本结构组合而成
# Python一切皆对象 所有对象都有一个布尔值  使用内置函数bool()获取对象的布尔值
"""
以下对象的布尔值为False
False
数值0
None
空字符串
空列表
空元祖
空字典
空集合
"""
print(bool(False))
print(bool(0))
print(bool(None))
print(bool(''))# 空字符串
print(bool([]))# 空列表
print(bool(()))# 空元祖
print(bool(tuple())) # 空元祖
print(bool({}))  #空字典
print(bool(dict()))#空字典
print(bool(set())) # 空集合

"""
单分支结构   如果...就...
语法结构: 
if 条件表达式:
    条件执行体
"""
money = 1000
mon = int(input("请输入取款金额:"))
if money>mon:   # 注意  str类型不能与int类型比较
    s = money - mon
    print("取款成功,余额还剩:",s)

"""
双分支结构   如果...就...否则就...
语法结构:
if 条件表达式:
    条件执行体1
else:
    条件执行体2
"""

i = int(input("请输入一个整数"))
if 1%2 == 0:       # 取余  余数为0 说明被2整除
    print(i,"是偶数")
else:
    print(i,"是奇数")

"""
多分支结构   如果...就...否则就.... 否则就....否则就....
语法结构:
if 条件表达式1:
    条件执行体1
elif 条件表达式2:
    条件执行体2
elif 条件表达式N:
    条件执行体N
else:
    条件执行体N+1    
"""
source = int(input("输入分数"))
# 判断
if source >=90:
    print("优秀")
elif source>=80 and source<90:
    print("良好")
elif 60<=source<80:
    print("及格")
else:
    print("不及格,下次加油哦!")

嵌套if

"""
嵌套if
if 布尔表达式:
    if 布尔表达式:
        条件执行体1:
    else:
        条件执行体2:
else:
    条件执行体3
"""
answer= input("您是会员吗?y/n")
if answer == 'y':
    money = int(input("您消费的金额是多少?"))  # 注意:小数形式的字符串不能转换成为int类型
    if money >=200:
        print("会员满200打八折,您应支付",money*0.8)
    else:
        print("会员消费200以下打九折,您应支付",money*0.9)
else:
    money = int(input("您消费的金额是多少?"))
    print("非会员打九点五折,您应付款",money*0.95)

循环语句

while语句

循环的分类 while for-in
选择结构if与循环结构while的区别:
if是判断一次,条件为True,执行一次
while是判断N+1次,条件为True,执行N次

while 语法结构
while 条件表达式:
    循环体

a = 1
while a<10:
    print(a)
    a+=1
计算04之间的累加和
4步 循环法:
1.初始化变量
2.条件判断
3.循环体
4.改变变量
"""
# 初始化变量
a = 0
sum = 0
# 条件判断
while a<5:
    # 循环体
    sum+=a
    # 改变变量
    a+=1
print("和为:",sum)
# 计算1到100的偶数和
a = 1
sum = 0
while a<=100:
    if a%2 == 0:    # if not a%2 :   另一种写法    0的布尔值为False
     sum += a
    a +=1
print("0到100之内的偶数和是:",sum)
a = 1
sum = 0
while a<=100:
    if a%2:
     sum += a
    a +=1
print("0到100之内的奇数和是:",sum)

for-in语句

for-in 循环
in表达从字符串、序列等中依次取值,又称遍历,for-in遍历对象必须是可迭代的对象,循环体内不需要访问自定义变量,可以将自定义变量替代为下划线_。
语法结构:

for 自定义变量 in 可迭代对象:
 循环体
"""
for-in 循环
in表达从字符串、序列等中依次取值,又称遍历,for-in遍历对象必须是可迭代的对象,循环体内不需要访问自定义变量,可以将自定义变量替代为下划线_
语法结构:
for 自定义变量 in 可迭代对象:
 循环体
"""
r = range(10)
for i in r:
    print(i)
for item in 'Python':
    print(item)
# 如果在循环体中不需要用到自定义变量,可以用下划线代替
for _ in range(5):
    print("人生苦短,我用Python")
# 使用for-in计算1到100之间的偶数和
print("0的布尔值为",bool(0))
sum = 0
for i in range(0,101,2):
    if not i%2:
        sum+=i
print("1到100之间的偶数和为:",sum)
i,sum = 0,0
for i in range(1,101):
    if i%2 == 0:
        sum += i
print("1到100之间的偶数和为:", sum)
"""
输出100到999之间的水仙花数   举例:153 = 1^3+5^3+3^3
"""
for item in range(100,1000):
    ge =item%10         # 个位上的数       对10取余
    shi = item //10%10    # 十位上的数  整除10,再对10取余
    bai = item // 100    # 百位上的数  对100整除
    # print(ge,shi,bai)
    if ge**3+shi**3+bai**3 == item:
        print("水仙花数:",item)
"""

break

break语句 用于结束循环语句通常与分支结构if一起使用

for ... in ...:
    ...
    if...:
        break
        
while ...:
    ...
    if...:
        break


# 从键盘录入密码,最多输入三次,如果正确就结束循环
num = 1
while num<=3:
    pwd = int(input("请输入密码:"))
    if pwd == 8888:
        print("密码正确")
        break
    print("密码错误,还有"+str((3-num))+"次机会,请重试")
    num +=1

continue

continue 用于结束当前循环,进入到下一循环,通常与分支结构if一起使用

for ... in ...:
    ...
    if...:
        continue
        
while ...:
    ...
    if...:
        continue
"""
要求输出1到50之间所5 的倍数   
  谁是5的倍数?  和5的余数为0 的数都是5的倍数
  谁不是5的倍数? 和5的余数不为0 的数都是5的倍数
"""
for item in range(1,51):
    if  not item % 5 :   # 余数为0  0 的布尔值是False  取反 为True
        print(item,"是5的倍数")

for item in range(1,51):
    if item % 5:
        continue
    print(item,"是5的倍数")

else

"""
else语句   与else语句配合使用的三种情况:
1.if条件语句不成立时执行else
2.while循环语句没有break时执行else
3.for-in循环语句没有break时执行else
"""
# for-in else 结构
for i in range(3):
    pwd = input("请输入密码")
    if pwd == '8888':
        print("密码正确")
        break
    else:
        print("密码错误")
else:
    print("账号已经冻结,请联系工作人员")
# while else结构
i = 0
while i<3:
    pwd = input("请输入密码")
    if pwd == '8888':
        print("密码正确")
        break
    else:
        print("密码错误")
    i+=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("*",end="")
    print()
# 打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        # print(str(j)+"*"+str(i)+"="+str(i*j),end="\t")
        print(j,"*",i,"=",i*j, end="\t")
    print()
#注意: 二层循环中,brank和continue用于控制本层循环
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。