Python学习笔记——基础语法要求和循环语句(使用Pycharm编译器)

1.基础语法要求

首先我们来输出一个简单的语句来看看简单单行注释的要求

print('hello world!')	# 输出
# 注释行#后应该有一个空格 代码行应该顶格写 要求代码文件最后一行为空行(python语言规范)

type()函数用来判断变量的数据类型

r = 10	# 定义一个变量 无需声明类型
print(type(r))   # 输出结果为<class 'int'>  
# 【如果注释放在代码行后面至少要有两个空格】

定义一个字符串(str)类型数据

t = 'err18'
y = "err18"   # 用引号引起来的内容就是str 单引号双引号都可以

bool类型 只有两个值 True False

w = True
print(type(w))   # <class 'bool'>

在python中输出使用print函数

  • 基本输出
print('hello')   # 会输出hello
print(123)    # 会输出123
  • 一次输出多个内容
print('isaac', 18)   
# 会输出isaac 和 18 输出的两者之间会用空格隔开  可以一次输出多个内容
  • 可以书写表达式
print(1 + 2)   # 会输出1 + 2 的结果 3
  • 可以格式化输出 需要格式化占位符
    %s-字符串 %d-整型 %f-小数浮点型
arr = 'isaac'
  • 要求:输出 我的名字是xxx 我很开心
print("我的名字是%s 我很开心" % arr)   # 我的名字是isaac 我很开心
# %前后都需要有空格 不能用逗号 逗号是输出多个内容的用法
height = 170.5
age = 18
# %f 输出小数 默认保存六位
print("我的身高是%f cm" % height)   # 我的身高是170.500000 cm
  • 快捷键:Ctrl + d 快速复制一行代码
  • Shift + Enter 不论光标在哪里 在下方新建一行代码
# %.nf  输出保留n位小数
print("我的身高是%.2f cm" % height)	# 我的身高是170.50 cm
  • 要求:输出 我的名字是xx,年龄是xx,身高是xx cm
print("我的名字是%s,年龄是%d,身高是%.2f cm" % (arr, age, height))
# 我的名字是isaac,年龄是18,身高是170.50 cm
# 变量名用括号括起来 用逗号分割 逗号后需要空格
  • 输出50% 使用格式化输出时,想要输出一个%,需要使用两个%%
print("及格人数占比为%d%%" % 50)
# 及格人数占比为50%
  • python3.6版本开始支持f-string,占位统一使用{},填充的数据直接写在{}里边
print(f"我的名字是{arr},年龄是{age},身高是{height}cm")
# 我的名字是isaac,年龄是18,身高是170.5cm
  • 转义字符\n
    将\ 和 n组合在一起,作为一个字符使用,\n代表换行
    print()函数输出之后,默认添加一个换行,如果不想要换行可以去掉
print('hello', end=',')   # 以一个字符(这里为逗号)结束 不换行
print('world')
print('hello')
print('world')
print('%d' % age, end='')   # end = 必须是一个字符串或None 字符串用引号引起来
print('岁')

# hello,world
# hello
# world
# 18岁
  • 输入使用input()函数
    input(‘给用户的提示信息’),得到用户输入的内容,遇到回车代表输入结束,得到的数据都是字符串类型
password = input('请输入密码:')
print("你输入的密码是:%s" % password)   # 得到的数据类型都是字符串类型

# 请输入密码:1112
# 你输入的密码是:1112
  • 类型转换
    先举个栗子:
price = input('请输入价格:')   # str
weight = input('请输入重量:')   # str
result = float(price) * float(weight)  # 进行类型转换 否则无法进行运算
print("总价格为:%.2lf" % result)

# 请输入价格:13
# 请输入重量:2
# 总价格为:26.00

a.转换为int类型
a.1 int(float)

pi = 3.14
num1 = int(pi)
print(num1)

# 3

a.2 整数类型的字符串

my_str = '10'
num2 = int(my_str)
print(type(num2))
print(num2)

# <class 'int'>
# 10

b.转为float类型
b.1 int —> float

num3 = 10
num4 = float(num3)
print("%.3lf" % num4)

# 10.000

b.2 数字类型字符串 —> float

num5 = '3.14'
num6 = float(num5)
print(type(num6))
print(type(num5))

# <class 'float'>
# <class 'str'>

eval 把字符串还原为原来的数据类型 去掉字符串的引号
若本来数据类型就为str则去掉引号后为一个变量 若该变量未提前定义则报错

num7 = eval('100')  # 100 int
num8 = eval('3.14')  # 3.14 float
print(type(num7))
print(type(num8))

# <class 'int'>
# <class 'float'>

任何类型数据都可转换为str 加引号即可

  • 运算符
    *1.**取整除 返回商的整数部分
    9//2 = 4 9.0//2.0 = 4.0 9.0//2 = 4.0
    {num = 76} —> 取出他的个位数和十位数:
    个位:num % 10 十位数: num // 10 [取余 取整]
    2. ** 指数 a
    b为a的b次方
    3. / 做除法 可输出小数 9/2 = 4.5 8/2 = 4.0
  • 比较运算符
    == != > < >= <= 结果为True或False
  • 逻辑运算符 连接两个表达式 两个表达式共同的结果决定最终的结果是True 还是 False
    and 逻辑与 一假为假 若第一个为假则第二个不用再判断 结果为假
    or 逻辑或 一真为真 若第一个为真则第二个不用在判断
    not 逻辑非 取反 原来是True变为False

2.if判断语句

格式:

# if 要判断的条件:         (记住有冒号!!)
#      条件成立时,要做的事
#      条件成立时,要做的事
#      条件成立时,要做的事
#      ......
# else:                     (记住有冒号!!)
#      条件不成立时,要做的事
#      条件不成立时,要做的事
#      ......
# 再次顶格书写 跳出if语句
# 在python中使用缩进 代表代码的层级关系 在if的缩进内 属于if语句的代码块(多行代码)

举个栗子:

age = input('请输入你的年龄:')
age = int(age)
if age >= 18:
    print("YES")
else:
    print("NO")
print('if判断结束')

# 请输入你的年龄:18
# YES
# if判断结束
  • Debug调试 (可以查看代码执行过程 可以排查错误)
    1.打断点(一般可以在代码的开始打上断点 或者在查看代码的地方打断点)
    2.右键debug运行代码
    3.点击 下一步 查看代码执行过程

if elif elif…else结构
只要有一个条件满足成立,后续条件都不会再进行判断

age1 = 66
if age1 <= 18:
    print('11110')
elif (18 < age1 < 50) or (age1 == 66):
    print('212123')
else:        # 第三个语句 执行的条件为前两个判断条件均不成立
    print('123923')

# 212123

if嵌套 外层成立才判断内层

www = input('请输入一个数字:')
www = int(www)
if www != 0:
    if www < 0:
        print('fu')
    elif www > 0:
        print('zheng')
else:
    print('ling')

# 请输入一个数字:6
# zheng

三目运算 (if else 结构变形)

# if 判断条件1:
#      表达式1
# else:
#      表达式2
#
# 变量 = 表达式1 if 判断条件 else 表达式2    (扁平化代码)
# 变量最终存储的结构为:
#    判断条件成立 存储表达式1的值
#    判断条件不成立 存储表达式2的值
a = int(input('请输入一个数字a:'))
b = int(input('请输入一个数字b:'))
result1 = a - b if a >= b else b - a  # 条件成立执行前面 不成立执行后面
print(result1)

# 请输入一个数字a:10
# 请输入一个数字b:3
# 7

3.while循环语句

# while 判断条件:
#       判断条件成立,要执行的代码
#       判断条件成立,要执行的代码
#       判断条件成立,要执行的代码
#
# 不在while的缩进内 代表和循环没有关系
i = 0
while i < 3:
    print('111000')
    i += 1     # 若不改变i的值则无限循环

# 111000
# 111000
# 111000

4.for循环

也称为 for遍历 会将字符串中的字符全部取到 不能实现无限循环

# for 变量 in 字符串:
#     代码
for i in 'hello':
    # i 一次循环是字符串中的一个字符
    print(i)

# h
# e
# l
# l
# o
  • range(n) 会生成[0, n)的数据序列,不包含n
  • range(a, b) 会生成[a, b)的整数序列,不包含b
for i in range(5):
    print('xupt')

# xupt
# xupt
# xupt
# xupt
# xupt

for i in range(3, 7):   # 3 4 5 6
    print(i)
print('结束')

# 3
# 4
# 5
# 6
# 结束
  • range(a, b, step) 会生成[a, b)的整数序列,但是每个数字之间的间隔(步长)是step
for i in range(1, 10, 3):  # 1 4 7
    print(i)

# 1
# 4
# 7

break 和 continue只能用在循环中!!!

  • break是终止循环的执行,即循环代码遇到break,就不再循环了
  • continue是结束本次循环,继续下一次循环,即本次循环剩下的部分不再执行,但会进行下一次循环

有五个苹果 编号12345
1.吃了三个苹果后,吃饱了,后续的苹果不吃了
2.吃了三个苹果但没饱,在吃第四个苹果时发现半条虫子,这个不吃了,继续吃下一个

apple = 5
for i in range(5):    # 0 1 2 3 4
    i = int(i)
    if i < 2:
        print('吃了第%d个苹果' % (i + 1))
        continue
    elif i == 2:
        print('吃了第%d个苹果' % (i + 1))
        result2 = int(input('吃饱了吗?饱了(1)没饱(0)'))
        if result2 == 1:
            print('吃饱了,不吃了')
            break
        else:
            continue
    else:
        if i == 3:
            print('第%d个苹果有虫子没有吃' % (i+1))
            continue
        elif i == apple-1:
            print('这是最后一个苹果')
            break
        else:
            print('吃了第%d个苹果' % (i + 1))
            continue

# 吃了第1个苹果
# 吃了第2个苹果
# 吃了第3个苹果
# 吃饱了吗?饱了(1)没饱(0)0
# 第4个苹果有虫子没有吃
# 这是最后一个苹果

循环else结构

# 如:
# for x in xxx:
#       if xxx:
#           xx
#       else:       (if判断条件不成立时 会执行)
#           xxx
# else:             (循环代码运行结束,但不是被break终止时 会执行)
#       xxx
my_str = 'hello python'
s = input('您想要查找的字母:')
for i in my_str:
    if s == i:    # 已判断成立 不用再去找了 用break终止循环
        print('%s存在!' % s)
        break
else:
    print('未找到该字母!')

# 您想要查找的字母:w
# 未找到该字母!
arrr = 3
i = 0
while i != arrr:    # while循环也可以用
    print('No')
    i += 1
else:
    print('Yes')

# No
# No
# No
# Yes

版权声明:本文为weixin_61965462原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。