输出
print(" hhh ")
print(10)
字符串组成:中文、英文、各类符号、数字组成 由双引号包围组成
字面量:写在代码中的固定值 常见字面量:整数int浮点数float字符串string
注释
单行注释 # 开头
多行注释 (支持换行) """
""" 快捷键 Ctrl+/
变量(记录数据):变量名称=变量的值
money=1000
print("钱包还有: ",money) # 输出多个内容用,隔开
money=money-10
print("钱包还剩余: ",money,"元")
type()语句 查看字面量数据类型,变量内存储的数据类型
#print直接输出类型信息
print(type("hei"))
#使用变量存储type语句的结果
string_type=type(666)
print(string_type)
#使用type语句查看变量中存储的数据类型信息
name="0000"
name_type=type(name)
print(name_type)
变量没有类型,变量存储的数据有类型
类型转换 所有都可转字符串 反之不一定(字符串转数字:前提字符串中均为数据)
#数字转字符串
num_str=str(666)
print(type(num_str),num_str)
float_str=str(13.14)
print(type(float_str),float_str)
#字符串转数字
str_nun=int("11")
print(type(str_nun),str_nun)
str_nun=float("11")
print(type(str_nun),str_nun)
#整数转浮点数
num_float=float(11)
print(type(num_float),num_float)
#浮点数转整数
float_num=int(13.14)
print(type(float_num),float_num) #结果为13,小数部分丢失了
标识符:英文、中文、数字、下划线(不推荐中文) 数字不可开头
不可使用关键字
变量命名:多个单词间下划线隔开 | 英文字母全小写
算术运算符:+ - * / //取整除 %取余 **指数
#算术运算符
print("1*10= ",1*10)
#赋值运算符
num=1
num+=1 #num=num+1
print("num+= ",num)
字符串拓展:name= “ ” ' ' “”“ ”“”
若字符串本身包含引号
name="'hhh'"
name='"hhh"'
name="\"hhhhh\"" #使用转义字符\解除引号效用
字符串的拼接(只适用于字符串中): + 字符串字面量和字符串变量
name="ddd"
address="kkk"
print("名字为:"+name+",地址是:"+address)
字符串格式化(将数字转为字符串) %
#通过占位的形式,完成数字和字符串的拼接
class_num=43
avg_salary=18389
message="班级:%s,平均工资:%s"%(class_num,avg_salary)
print(message)
常用的三个占位符:%s字符串占位 %d 整数占位 %f 浮点数占位
name="詹姆"
setup_year=2009
stock_price=2993
message="%s,成立于%d,我今天的估价是%d"%(name,setup_year,stock_price)
print(message)
字符串的精度控制
“m.n”控制数据的宽度和精度 m.n均可省略
num1=11
num2=11.345
print("11的宽度限制为5,结果为:%5d"%num1) #三个空格11
print("11的宽度限制为1,结果为:%1d"%num2) #宽度为1不生效,m小于数字本身宽度
print("11.345宽度限制为7小数精度为2,结果为:%7.2f"%num2)#两个空格 11.35
print("11.345宽度不做限制小数精度为2,结果为:%.2f"%num2)#11.35
字符串快速格式化 -字符串前面加f 字符串内部加{ } f"{表达式}”不限数据类型不做精度控制
name="呵呵"
set_up_year=28282
stock_price=2982
print(f"我是{name},成立于{set_up_year},股价是{stock_price}")
对表达式进行格式化
表达式:具有明确执行结果的代码语句
print("1+1的结果为:%d"%(1+1))
print(f"1*2的结果是:{1*2}")
print("字符串在python中的类型名是:%s"%type("字符串")) #class'str'
name="呵呵"
stock_price=19.99
stock_code= "003032" # 用数字会报错,不能直接以0开头
stock_price_daily_growth_factor=1.2
growth_days=7
print(f"公司:{name},股票代码{stock_code},当前股价{stock_price}")
finally_stock_price_day=stock_price*stock_price_daily_growth_factor**growth_days
print("每日增长系数是%.1f经过%d天的增长后股价达到了:%.2f"%(stock_price_daily_growth_factor,growth_days,finally_stock_price_day))
input语句
print("一会出去玩")
name=input()
print("好的,你是:%s"%name)
name=input("一会出去玩")
print("好的,你是:%s"%name)
num=input("密码是: ")
print("你的密码是: ",type(num))
密码是: 5789
你的密码是: <class 'str'>
input 默认的接收类型均为字符串
可用input(提示信息),用来在输入前提示用户
user_name=input("请输入你的名字: ")
user_type=input("用户类型是: ")
print(f"你好,{user_name},你的用户类型是:{user_type}")
判断语句
数字类型中的布尔类型:True False (表示真假的数据类型)
== 判断是否相等 !=判断是否不等
bool_1=True
bool_2=False
print(f"bool_1变量内容是:{bool_1},类型是{type(bool_1)}")
print(f"bool_2变量内容是:{bool_2},类型是{type(bool_2)}")
num1=10
num2=15
print(f"10!=15的结果是:{num1!=num2}")
num1=10
num2=5
print(f"10>5的结果是:{num1>num2}")
bool_1变量内容是:True,类型是<class 'bool'>
bool_2变量内容是:False,类型是<class 'bool'>
10!=15的结果是:True
10>5的结果是:True
if语句的基本格式
age=10
if age>=18: #一定要加:
print("已成年") #前面四个空格缩进
print("时间过得真快") #通过首行缩进 划分
时间过得真快
age=int(input("请输入你的年龄:"))
if age>=18:
print("您已成年,游玩需加票10元")
print("玩的开心!")
if-else语句
age=int(input("请输入年龄: "))
if age>=18:
print("买票10元")
else:
print("未成年,免费游玩")
print("happy day")
else同样4个空格缩进 同样要加:
if-elif-else语句 完成多个条件的判断
height=int(input("请输入你的身高:"))
vip_level=int(input("请输入你的VIP等级:"))
day=int(input("请告诉我今天几号?"))
if height<120:
print("身高不足120,可以免费。")
elif vip_level>3:
print("vip级别大于3,可以免费")
elif day==1:
print("今天是1号免费日")
else:
print("请买票")
if int(input("请输入你的身高:"))<120:
print("身高不足120,可以免费。")
elif int(input("请告诉我今天几号?"))==1:
print("今天是1号免费日")
else:
print("请买票")
num=5
input("请输入你猜想的数字")
if int(input())==num:
print("猜对了")
elif int(input("猜错了 再猜一次"))==num:
print("猜对了")
elif int(input("猜错了 再猜一次")) == num:
print("猜对了")
else:
print("sorry,猜错了")
判断语句的嵌套
关键:空格缩进 层次关系
if int(input("你的身高: "))>120:
print("身高不足120,可以免费")
print("若你的vip级别大于3,可以免费")
if int(input("你的VIP级别是多少: "))>3:
print("可以免费")
else:
print("您需买票10元")
else:
print("欢迎小朋友,免费游玩") #简单嵌套
age=int(input("您的年龄是: "))
if age>= 18:
print("您已成年")
if age<30:
print("年龄符合条件")
if int(input("您的入职时间是: "))>2:
print("可以领取")
elif int(input("你的级别是: "))>3:
print("可以领取")
else:
print("年龄满足,但入职时间和级别都不达标,不可领取礼物")
else:
print("不好意思,年龄不达标")
#随机生成1-10范围内的数字 3次机会进行猜测 每次猜不中,会提示大了还是小了
import random
num=random.randint(1,10)
guess_num=int(input("请输入你猜测的数字: "))
if guess_num==num:
print("恭喜你,第一次就猜对了")
else:
if guess_num>num:
print("你猜测的数字偏大")
else:
print("你猜测的数字偏小")
guess_num=int(input("请再次输入你要猜测的数字: "))
if guess_num==num:
print("恭喜你,第二次猜对了")
else:
if guess_num > num:
print("你猜测的数字偏大")
else:
print("你猜测的数字偏小")
guess_num = int(input("请再次输入你要猜测的数字: "))
if guess_num==num:
print("恭喜你,第三次猜对了")
else:
print("三次机会用完了")
循环语句
while循环 (空格缩进) while条件后要加:
while循环得到布尔类型
需设置循环终止条件,否则将无限循环
#求1-100的和
sum=0
i=1
while i<=100:
sum=sum+i
i += 1
print(f"1-100累加的和是:{sum} ")
#设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
import random
num=random.randint(1,100)
count=0
flag=True
while flag:
guess_num=int(input("请输入你猜测的数字: "))
count+=1
if guess_num==num:
print("猜中了")
flag = False
else:
if guess_num>num:
print("偏大")
else:
print("偏小")
print(f"你总共猜了{count}次")
i=1
while i<=100: #外层循环
print(f"今天是第{i}天,准备表白...")
#内层循环
j=1
while j<=10:
print(f"送给她第{j}朵玫瑰花")
j+=1
print("我喜欢你")
i+=1
print(f"坚持到第{i-1}天,表白成功")
#坚持表白100天,每天送10个花
嵌套时要注意条件的控制,避免无限循环
多层嵌套,注意空格缩进
print语句输出不换行
print("sss",end='')
print("ddd",end='') #输出不换行 sssddd
#打印九九乘法表 while的嵌套使用
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={j * i}\t",end='') #内层循环语句不要换行
j += 1
i += 1
print() #print空内容,输出一个换行
\t 输出空格
for循环
for循环与while循环的不同: while可以自行控制循环条件 for循环是对一批内容进行逐个处理
name = "siwndw"
for x in name:
# 将name的内容,挨个取出赋予x临时变量
# 就可以在循环体内对x进行处理
print(x)
for 临时变量 in 被处理的数据
for循环无法定义循环条件,只能被动取出数据处理
name = "siwndw"
for x in name:
# 将name的内容,挨个取出赋予x临时变量
# 就可以在循环体内对x进行处理
print(x) #输出该字符串中的每个字母
#例子 数一数字符串中有几个a
name="dhiewudnqwkdaawqaa"
count=0
for x in name:
if x=="a":
count+=1
print(f"被统计的字符串中有{count}个a")