一.input()函数
接收用户输入的值结果都是字符串类型
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
运行结果:
二.数据类型的转换
目标数据类型(要转的变量)
age = input("请输入您的年龄:")
# 数据类型的转换 目标数据类型(要转的变量)
age = (age)
print(age, type(age))
运行结果:
注:
# # \n 换行符 # # \t tab键 python中默认是4个空格 # s = "你好\n数加"
运行结果:
三.运算符
算术运算符
+ - * / % ** //
a = 5
b = 10
print(a + b)
print(a - b)
print(a * b)
print(a / b) # float类型,保留小数部分的
print(a % b) # 取余数(取模)
print(a ** b) # 次方幂
print(a // b) # 整除,取整数部分,没有四舍五入(结果为0.5的结果取整数部分为0)
运行结果:
四.比较运算符
结果是一个bool类型
a = 3
b = 4
print(a == b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
print(a != b)
运行结果:
五.赋值运算符
# = += -= *= /= %= **= //=
# 需求:数字类型变量a自加1
# a = a++ # 在python中是没有++或者--的运算符
a = 10
b = 5
a = a + 1
print(a)
b += 1
print(b)
运行结果:
六.逻辑运算符
# and 有False则False
# or 有True则True
# not 将True变成False,将False变成True
a = 5
b = 6
c = 7
print(a < b and b > c)
print(a < b or b > c)
print(not a < b)
print(a < b and (b > c or a > c) and c < a or b > a) # True
运行结果:
注:isinstance() 判断某个值是否是某个数据类型
b = 'a'
print(isinstance(b, int))
运行结果:
七.if选择语句
# 语法定义格式
# if 判断条件表达式(bool类型的结果):
# if语句体
# 需求:如果你是一个男生,就去男厕所
gender = "女"
if gender == "男":
print("请去男厕所")
print("请不要去女厕所")
# if语句另外一种格式:两个选择
if gender == "男":
print("请去男厕所")
else:
print("请去女厕所")
运行结果:
# if语句多分支的情况
# 判断分数的情况,不同的分数,不同的奖励
score:0-59 不及格 棍棒伺候
score:60-80 良好 奖励试卷一份
score:80-100 优秀 肯德基
score = int(input("请输入您的分数:"))
if 0 <= score < 60:
print("不及格 棍棒伺候")
elif 60 <= score < 80:
print("良好 奖励试卷一份")
elif 80 <= score <= 100:
print("优秀 肯德基")
else:
print("您输入的分数有误!!")
运行结果:
八.if嵌套语句
# 需求:比较3个数中的最大值(if嵌套,今后开发中if的嵌套最多不要超过4层)
a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
c = int(input("请输入第三个数字:"))
if a > b:
if a > c:
print(f"三个数中最大值为:{a}")
else:
print(f"三个数中最大值为:{c}")
else:
if b > c:
print(f"三个数中最大值为:{b}")
else:
print(f"三个数中最大值为:{c}")
运行结果:
九.for循环
for 变量名 in 序列:
循环体语句
# python中提供了一个函数range(),可以创造对应的序列数字
for i in range(1, 11):
print(f"数加科技{i}")
运行结果:
十.for else格式
for i in range(10):
if i == 3:
continue
#exit() # 强制退出python程序
print(i)
else: # 当循环正常结束的时候才会执行
print("你好")
print("hello world")
运行结果:
# 使用for...else改进判断是否为素数
for i in range(2, 101): # i=9
for j in range(2, i):
if i % j == 0: # 如果能够被整除,就说明i这个数字不是素数
print(f"数字{i}不是素数")
break
else:
print(f"数字{i}是素数")
运行结果:
十一.while循环
语句定义格式:
while 循环的条件:
循环体内容
# 打印count的值,直到count变量的值小于0为止
count = 10
while count >= 0:
count -= 1
print(count)
运行结果:
十二.字符串详解
字符串通俗的理解:由一个签子把一个一个字符串起来的串儿,叫字符串,每个字符的位置也就定下来了。 专业的理解:
1、字符串是由零个或者多个字符串组成字符序列 "abcdefghi" 在python中使用双引号或者单引号都可以叫做字符串
2、字符串具有不可变,有索引,可切片,可遍历的特点。
3、一切字符串皆为对象 类
字符串中的方法:
1、格式化分类方法
2、判断方法
3、查找,修改,计数,替换方法
4、特殊方法
十三.例题
# 需求1:假设你有1万元本金,利息0.0325每年,求连本带息多少年后,能够翻倍
base_salary = 10000 # 本金
interest = 0.0325 # 利息
year = 0 # 年
# 因为不知道要循环多少年,所以使用while循环
while base_salary <= 20000:
year += 1 # 年份加一年
base_salary = base_salary + (base_salary * interest) # 连本带息的总额
print(f"今年是第{year}年,连本带息是{base_salary}元")
运行结果:
# 需求2:现在有一个弹簧球,从100米高空中坠落,每次坠落会反弹回一半的高度,问第10次反弹后,小球经过了多少米?
height = 100 # 高度
distance = 0 # 距离
count = 0 # 反弹的次数
while count < 10:
distance += height # 记录坠落时经过的高度
height = height / 2 # 反弹回去的高度
distance += height # 距离加上反弹回去的高度
count += 1 # 反弹的次数+1
print(f"小球经过10次反弹后,经过了{distance}米")
运行结果:
# 需求3:现在有一堆桃子,猴子每天吃桃子总数的一半并且还多吃一个,吃了10天,到了第11天只剩1个桃子,问猴子在吃桃子之前总共有多少个桃子?
n = 1 # 第11天剩下1个桃子
day = 11 # 第11天
# 反向推
while day > 1:
n = (n + 1) * 2 # 计算前一天的桃子个数
day -= 1 # 天数倒退一天
print(f"第一天桃子的个数为{n}") # 3070
运行结果:
# 需求4:求1-2+3-4+5-6+7-8....100的结果
count = 0
for i in range(1,101):
if i%2==0:
count -= i
else:
i % 2 == 1
count += i
print(f"1-2+3-4+5-6+7-8....100的结果为:{count}")
运行结果:
# 需求5:随机输入一串字符串,判断其中数字字符的个数,字母字符的个数,特殊符号的字符个数,空格的个数。
str1 = input("请输入字符串:")
digit = 0
alpha = 0
other = 0
space = 0
for i in str1:
if i.isdigit() : # 判断是否
digit += 1
elif i.isalpha(): # 判断
alpha += 1
elif i.isspace() : # 判断
space += 1
else:
other += 1
print(f"数字个数为:{digit}")
print(f"字母个数为:{alpha}")
print(f"空格个数为:{space}")
print(f"其他字符数为:{other}")
运行结果: