Python基础

1、转义字符

  • \n:换行符

  • \t:制表符

  • %%:在字符串格式化拼接时输出%

# 在print定义时自动在结尾加上了'\n'所以每次打印结束后,会自动换行
print(123)
print('hello world \n')
print(456)
# 如果不想让其自动换行, 在字符串输入结束后,使用end = '结束符' 可以修改print打印结束后插入的字符
print(123, end='$$$')
print(456)


# \t 制表符
print('3  4\t5')
# %%  输出%
# 在不适用字符串格式化拼接时,可以进行%的单独输出
print('我的业绩增长了100%')

score = 100
# 在使用字符串格式化的时候,字符串中的%不能单独输出,必须配合占位符,或者使用%%进行输出
print('我的成绩增加了%d%%' % score)

2、f-string

  • f-string是Python3.6之后出现的格式化语法

  • 格式:f'要输出的字符串{要拼接的变量}'

    • f可以是大写,也可以是小写,

    • 引号可以是单引号,也可以是双引号

    • 精度控制

      • {浮点型变量:.nf} 保留n位小数,四舍五入

      • {整型变量:0nd} 保留n位,不足位用0补齐,如果超出则原样显示

      • %可以单独输出

3、数据类型的转换

  • 数据类型转换是为了不同类型数据之间可以进行拼接或运算

  • 格式:数据类型(要转化类型的变量或值)

  • int和float类型直接可以随意转换

    • float转换为int类型只保留整数部分

    • int转换为float类型在末尾添加。0

  • 如果数值型转换为str类型,可以随意转换

  • 如果str类型转换为数值型

    • float 必须保证str引号内部是浮点型数据或整型数据

    • int 必须保证str引号内部是整型数据

# 需求: 在超市中有两种水果,苹果和橘子
# 让售货员输入苹果的单价,苹果的重量,橘子的单价,橘子的重量,在控制台输出购买详情以及总价
# 水果单价
apple_price = 6.6
orange_price = 5
# 水果斤数
apple_weight = float(input('请输入苹果的斤数:'))
orange_weight = float(input('请输入橘子的斤数:'))
# 水果总价
sum = apple_price * apple_weight + orange_price * orange_weight
print(f'水果总价为:{sum:.2f}')

4、算术运算符

  • + - * / // % **

  • // 取商

  • 取余

  • ** 幂次运算

# 求梯形面积
a = float(input('请输入梯形上底:'))
b = float(input('请输入梯形下底:'))
h = float(input('请输入梯形的高:'))
S = (a+b)*h/2
print('梯形的面积为: %.2f' % S)

# 提示用户输入圆的半径,根据公式S = πr2求圆的面积
π = 3.14
r = float(input('请输入圆的半径:'))
S = π*r**2
print('圆的面积: %.2f' % S)

# 输入两个数,并求和
first_int = int(input('请输入第一个整数:'))
second_int = int(input('请输入第二个整数:'))
print('两数的和: %d' % (first_int+second_int))


5、赋值符号

  • = :将等号右侧的值赋值给等号左侧的变量

  • 可以给单个变量赋值: 变量= 值

  • 可以给多个变量赋不同的值 : 变量1, 变量2. 变量3 = 值1, 值2, 值3

  • 可以给多个变量赋相同的值:变量1 = 变量2 = 变量3 = 值

# 赋值运算 => 输入身高,体重,求BMI = 体重(kg)/身高(m)的平方
height = float(input('请输入身高:'))
weight = float(input('请输入体重:'))
BMI = weight/height**2
print('BMI= %.2f' % BMI)

6、复合赋值运算符

+= -= *= /= //= %= **=

  • 复合赋值运算符等号左侧一定是已经被定义的变量

  • 复合赋值运算符右侧是已经被定义的变量或者值

# 复合赋值运算符不能连续使用
# a += 1 += 2


# 练习
a = 2

a *= 2
print(a)

b = 12
b //= 5
print(b)

7、比较运算符

`< > <= >= == !=`

  • 比较运算就是比较数据值的大小

  • 比较运算可以连续使用

  • 比较运算中比较相等使用== 而 不能使用 = (赋值运算符)

'''
比较运算 => 世界杯案例,世界杯小组赛的比赛规则是我们的球队与其他三支球队进行比赛,
然后根据总成绩(积分)确定出线资格。小组赛球队实力已知(提示用户输入各球队实力),
我们通过一个数字表示。如果我们赢1局得3分,平一局得1分,输一局得0分,最终求球队总成绩。(有难度)
'''
a = int(input('请输入我们球队的实力:'))
b = int(input('请输入1号球队的实力:'))
c = int(input('请输入2号球队的实力:'))
d = int(input('请输入3号球队的实力:'))
avsb = (a > b) * 3 + (a == b)
avsc = (a > c) * 3 + (a == c)
avsd = (a > d) * 3 + (a == d)
score = avsb + avsc + avsd
print('小组赛最终结果:%d分' % (score))

# 判断是否相等使用==
print(age == 13)  # True
print(age == 11)  # False
# TypeError: 'age' is an invalid keyword argument for print()
# =是赋值运算不能判断是否相等
# print(age = 12)

8、逻辑运算

  • and 同真即真

  • or 同假即假

  • not 真变假 假变真

# and 同真即真
print(True and False)  # False
print(True and True)  # True
print(False and True)  # False
print(False and False)  # False

# or 同假即假
print(True or False)  # False
print(True or True)  # True
print(False or True)  # False
print(False or False)  # False

# not 真变假, 假变真
print(not True)  # False
print(not False)  # True

# 逻辑运算 => 输入三角形的3边,如果两边的长度大于第三条边,则代表是一个合法三角形
a = float(input('输入a:'))
b = float(input('输入b:'))
c = float(input('输入c:'))
print('%s' % (a+b > c and b+c > a and a+c > b))

9、短路运算

# 短路运算:
a = 1
b = 2
# 当逻辑运算的第一个表达式已经可以决定整个逻辑运算的值的时候,后边的表达式将不会被运行
print(a > b and a < b)

# 在数值型数据中,非0即真
# 在容器型数据中,非空即真
# None 代表False
print(False and 1)  # False
print(0 and True)  # 0
print(12 or False)  # 12
print(None and True)  # None

print(True and False)  # False
print(True and 15)  # 15

print(False or "")  # ""

10、分支语句

单一条件判断:

# 格式:
'''
if 条件:
    条件成立时执行的代码
'''

age = int(input('请输入年龄:'))
if age >= 18:
    print('您的年龄是: %d,已成年,可以上网!')
else:
    print('')
print('系统关闭!')

对立条件判断

# if ... else ...
'''
if 条件:
    条件成立时执行的代码
else:
    条件不成立时执行的代码
'''

# 编写一段代码,需要输入要一个有效年份,判断该年份是否是闰年,如果是闰年,则打印“**xx年是闰年**”;否则打印“**xx年不是闰年**”
# 如输入"2019",将打印“2019年不是闰年”
# 提示:闰年年份是能被4整除,但不能被100整除的;或者能被400整除的年份,如1900年能被4整除,
# 但是也能被100整除,所以不是闰年,而2000虽然既能被4整除又能被100整除,但是2000能被400整除,所以是闰年。

year = int(input('请输入一个有效的年份:'))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print(f'{year}年是闰年')
else:
    print(f'{year}年不是闰年')

多分支判断语句

# 格式;
'''
if 条件1:
    条件1成立时执行的代码
elif 条件2:
    条件2 成立时执行的代码
elif 条件3:
    条件3成立时执行的代码
else:
    所有条件均不成立时执行的代码
'''

score = float(input('请输入小明的成绩:'))
if score < 0 or score > 100:
    print('小明评级不存在!')
elif 90 <= score <= 100:
    print('小明评级为优秀!')
elif 80 <= score < 90:
    print('小明评级为良好!')
elif 70 <= score < 80:
    print('小明评级为中等!')
elif 60 <= score < 70:
    print('小明评级为合格!')
else:
    print('小明评级为不合格!')

11、分支语句嵌套

# 嵌套:在if语句控制的代码块中存在其他的if语句

# 编写一段代码,要求依次输入语文、数学、英语三门课的成绩(输入范围0到100,包括0和100),
# 如果三门成绩的平均分小于60,打印"不及格",
# 如果平均分大于90, 打印优秀,
# 其他则打印"良"

chinese = float(input('请输入语文成绩:'))
math = float(input('请输入数学成绩:'))
english = float(input('请输入英语成绩:'))
if 0 <= chinese <= 100 and 0 <= math <= 100 and 0 <= english <= 100:
    avg_score = (chinese + math + english) / 3
    print('成绩评定为:', end='')
    if avg_score < 60:
        print('不及格')
    elif avg_score > 90:
        print('优秀')
    else:
        print('良')
else:
    print('成绩输入不符合要求,无法进行评定')


ticket = int(input('请输入是否有票:(1 有票 0 无票)'))
seat = int(input('请输入是否有座位:(1 有座位 0无座位)'))
if ticket == 1:
    print('有票,请上车!')
    if seat == 1:
        print('车上有座位,请坐下!')
    else:
        print('车上无座位,请站着!')
else:
    print('无票,无法乘车!')


# 猜拳游戏
找规律: 结果为0  平局
结果为 -1 或 2 玩家获胜
结果为 -2 或 1 电脑获胜
'''
# 玩家键入拳型
player = int(input('请输入您要出的拳型:(0 石头 1 剪刀 2 布)'))
# 电脑随机出拳
# 在计算机中如果想要生成随机数据可以使用random模块进行生成
import random # 导入模块
# 生成随机数  random.randint(m,n) 生成[m, n]区间内的任意一个整数
computer = random.randint(0,2)
result = player - computer
# 比对拳型
# 玩家获胜情况: p: 0 c: 1  |  p: 1  c: 2  | p : 2  c : 0
if result == -1 or result == 2:
    # 输出结果
    print('玩家获胜')
elif result == 0:
    # 输出结果
    print('平局')
else:
    # 输出结果
    print('电脑获胜')


你可能感兴趣的:(python,python)