字符串格式化的精度控制
数字精度控制是会进行四舍五入的,且小数点符号也会算入宽度范围内
[1] m限制字符串宽度 ; 也就是占几个位,如果m比数字本身宽度还小,m不生效
[2] .n限制小数点精度 ; 就是小数点后几位数字,做精度限制的同时会对小数做四舍五入
如:11.345设置为 %7.2f ,首先小数点后2位数字,.35然后一共七位,就是【空格】【空格】11.35
num1 = 11
num2 = 11.345
print("数字11宽度限制5,结果是 %5d" % num1)
print("数字11宽度限制1,结果是 %1d" % num1)
print("数字11.345宽度限制7,小数精度2,结果是 %7.2f" % num2)
print("数字11.345宽度不限制,小数精度2,结果是 %.2f" % num2)
----------------------------------------结果--------------------------------------------
数字11宽度限制5,结果是 11
数字11宽度限制1,结果是 11
数字11.345宽度限制7,小数精度2,结果是 11.35
数字11.345宽度不限制,小数精度2,结果是 11.35
字符串格式化的方式2
f"{占位}" 这种方式不理会类型,不做精度控制;适合不做精度控制的快速格式化
name = "传智播客"
set_up_year = 2006
stock_price = 19.99
print(f"我的名字是{name},我成立于{set_up_year},我今天的股票价格是{stock_price}")
--------------------------------结果----------------------------------
我的名字是传智播客,我成立于2006,我今天的股票价格是19.99
对表达式进行格式化
1.表达式就是具有明确结果的代码语句,如1+1,type(‘字符串’)
2.如何格式化表达式?
[1] f" {}"
[2] %d%s %( , )
print("1*1的结果是 %d" %(1*1))
print(f"1*1的结果是{1*1}")
print("字符串在python中的类型是 %s" % type('字符串'))
--------------------------------结果----------------------------------
1*1的结果是 1
1*1的结果是1
字符串在python中的类型是 <class 'str'>
数据输入(input)语句
input()语句获取键盘输入的数据
不管键盘输入什么类型的数据,获取到的数据永远都是字符串类型;
如果你想得到数字或者其他类型,请自行进行转换
print("请告诉我你是谁")
name = input() / /其中,这两行代码可以替换成name = input("请告诉我你是谁")
print("我知道了,你是%s" % name)
------------------------结果------------------------
请告诉我你是谁
黑马程序员
我知道了,你是黑马程序员
name = input("请告诉我你是谁")
print("我知道了,你是%s" % name)
------------------------结果------------------------
请告诉我你是谁黑马程序员
我知道了,你是黑马程序员
布尔类型和比较运算符
【1】在python中,可以表示真假的数据类型是布尔类型,字面量True表示真,字面量False表示假
【2】除了可以定义布尔类型以外,还可以通过比较运算符计算得到布尔类型
比较运算符
== 判断相等
!= 判断不相等
判大于
< 判小于
≥ 判大于等于
≤ 判小于等于
bool_1 = True
bool_2 = False
print("bool_1的内容是{bool_1}",type(bool_1))
print("bool_2的内容是{bool_2}",type(bool_2))
------------------------------结果-------------------------------
bool_1的内容是{bool_1} <class 'bool'>
bool_2的内容是{bool_2} <class 'bool'>
num1 = 10
num2 = 10
print(f"num1 == num2 的结果是{num1 == num2}")
------------------------------结果-------------------------------
num1 == num2 的结果是True
if语句的基本格式
if 条件:
条件成立时要执行的语句
成年人判断讲解
my_age = input("请输入你的年龄")
my_age = int(my_age)
print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
print("请输入你的年龄:%d" % my_age)
if my_age >= 18:
print("您已成年,游玩需要补票10元。")
print("祝您游玩愉快。")
if-else组合判断语句
my_age = input("请输入你的年龄")
my_age = int(my_age)
print("欢迎来到黑马儿童游乐场,儿童免费,成人收费。")
print("请输入你的年龄:%d" % my_age)
if my_age >= 18:
print("您已成年,游玩需要补票10元。")
else:
print("您未成年,可以免费游玩")
print("祝您游玩愉快。")
-------------------------------------结果------------------------------------
请输入你的年龄16
欢迎来到黑马儿童游乐场,儿童免费,成人收费。
请输入你的年龄:16
您未成年,可以免费游玩
祝您游玩愉快。
我要买票吗案例
my_height = input("请输入你的身高")
my_height = int(my_height)
print("欢迎来到黑马动物园")
print("请输入你的身高(cm):%d" % my_height)
if my_height >= 120:
print("您的身高超出120cm,游玩需要补票10元。")
else:
print("您的身高未超出120cm,可以免费游玩")
print("祝您游玩愉快。")
-------------------------------------结果------------------------------------
请输入你的身高100
欢迎来到黑马动物园
请输入你的身高(cm):100
您的身高未超出120cm,可以免费游玩
祝您游玩愉快。
if-elif-else组合使用的语法
if int(input("请输入你的身高"))<120:
print("身高小于120cm,可以免费")
elif int(input("请输入您的VIP等级"))>3:
print("VIP等级>3,可以免费")
elif int(input("请告诉我今天几号")) == 7:
print("今天是7号,可以免费")
else:
print("不好意思,条件都不满足,需要买票100元")
-------------------------------------结果------------------------------------
请输入你的身高190
请输入您的VIP等级5
VIP等级>3,可以免费
案例猜猜心里数字讲解
num = int(input())
if int(input("请输入第一次猜想的数字"))==num:
print("和我心里想的数字一样")
elif int(input("不对,再猜一次")) == num:
print("和我心里想的数字一样")
elif int(input("不对,再猜最后一次")) == num:
print("和我心里想的数字一样")
else:
print("Sorry,全部猜错了,我想的是%d" % num)
----------------------------------结果------------------------------------
9
请输入第一次猜想的数字2
不对,再猜一次4
不对,再猜最后一次9
和我心里想的数字一样
判断语句的嵌套
题目:公司要发礼物,条件是
【1】必须是大于等于18岁小于30岁的成年人
【2】同时入职时间需满足大于两年,或者级别大于3才可以领取
age = int(input("请输入你的年龄"))
if age >= 18:
if age <= 30:
print("年龄满足条件,继续判断")
time = int(input("请输入你的入职时间"))
if time>2:
print("年龄满足条件,且入职时间满足条件,继续判断")
rank = int(input("请输入你的级别"))
if rank >3:
print("年龄满足条件,且入职时间满足条件,级别也满足条件,可以领取奖励")
elif rank<=3:
print("年龄满足条件,且入职时间满足条件,级别不满足条件,不可以领取奖励")
elif time<=2:
print("年龄满足条件,入职时间不满足条件,不可以领取")
elif age >30:
print("年龄不满足条件,不可以领取")
else:
print("不满足条件,不可以领取")
判断语句的综合案例
案例需求:定义一个数字(1~10,随机产生),通过3次判断来猜出数字
案例要求:
1.数字随机产生,范围1-10
2.有3次机会猜测数字,通过3层嵌套判断实现
3.每次猜不中,会提示大了或小了
提示,通过如下代码,可以定义一个变量num,变量内存储随机数字
import random
num = random.randint(1,10)
import random
num = random.randint(1,10)
num1 = int(input("请猜一个数字"))
if num1 != num :
if num1>num:print("猜大了")
if num1<num:print("猜小了")
num2 = int(input("请再猜一个数字"))
if num2 != num :
if num2 > num: print("猜大了")
if num2 < num: print("猜小了")
if int(input("请最后猜一个数字")) != num :
print("Sorry,你猜错了")
else:
print("恭喜你,猜对了")