python基础(2)
pass关键字
主要是了维护语法结构的完整性提供的
字符串的格式化
需求:输入自己的姓名,年龄,性别,爱好,并输出
- 方式1:使用+号拼接
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
print("您的姓名是:" + name + ",年龄:" + age + ",性别:" + gender + ",爱好:" + like)
- 方式2:使用.format进行格式化【是python推荐的方式】
2.1 类型1:{索引}
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
# 方式2中的格式1
print("您的姓名是:{0},年龄:{1},性别:{2},爱好:{3}".format(name, age, gender, like))
2.2 类型2:{}
若大括号中不传索引,那么大括号取值的时候,按照后面的值的顺序进行取值
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
# 方式2中的格式2
print("您的姓名是:{},年龄:{},性别:{},爱好:{}".format(name, age, gender, like))
2.3 类型3:{自定义变量}
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
print("您的姓名是:{a1},年龄:{a2},性别:{a3},爱好:{a4},不好意思没听清,您的爱好是{a4}".format(a1=name, a2=age, a3=gender,a4=like))
- 方式3:%
这种方式传参,需要考虑数据类型的问题
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
print("您的姓名是:%s,年龄:%s,性别:%s,爱好:%s" % (name, age, gender, like))
- f-{}【个人推荐的使用方式】
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
print(f"您的名字是:{name},年龄:{age},性别:{gender},爱好:{like}")
语句结构
选择结构 if
注意事项:
- 判断条件的结果必须是bool类型
- 语句体前面必须要有缩进,默认是一个tab键【4个空格】
- 格式1:
if 判断条件:
当判断条件为True的时候执行
- 格式2:
if 判断条件:
当判断条件为True的时候执行
else:
当判断条件为False的时候执行
- 格式3:
if 判断条件1:
当判断条件1为True的时候执行
elif 判断条件2:
当判断条件2为True的时候执行
elif 判断条件3:
当判断条件3为True的时候执行
elif 判断条件4:
当判断条件4为True的时候执行
...
- 格式4:为了程序的严谨性,在格式3的基础上增加else
if 判断条件1:
当判断条件1为True的时候执行
elif 判断条件2:
当判断条件2为True的时候执行
elif 判断条件3:
当判断条件3为True的时候执行
elif 判断条件4:
当判断条件4为True的时候执行
...
else:
当上面所有的条件都不满足的时候执行
扩展知识:在python中数值是可以进行连续比较。
循环结构 for & while
- range()内置函数
1.1 使用方法1:range(数值)生成一个序列,序列范围是0~数值-1
for i in range(10):
print(i)
1.2 使用方法2:range(开始值, 结束值) 生成一个序列,序列范围是 开始 ~ 结束-1
# 输出1-10
for i in range(1, 11): # 1-10
print(i)
1.3 使用方式3:range(开始值, 结束值, 步长) 生成一个序列,序列范围是 开始 ~ 结束-1 ,取值的
方式每隔步长取一次
for i in range(1, 11, 2): # 1 3 5 7 9
print(i)
- for循环语句
2.1 格式1:
for 变量1[,变量2,变量3....] in 可遍历序列:
使用变量
2.1.1 需求:求1-10之和
num = 0
for i in range(1, 11):
num = num + i
print(f"1-10之和为:{num}")
2.12 需求:求1-100之间奇数和
num = 0
for i in range(1, 101):
if i % 2 == 1:
num = num + 1
print(f"1-100之间的奇数和为:{num}")
2.2 格式2
for 变量1[,变量2,变量3....] in 可遍历序列:
使用变量
else:
语句体 # 当for循环正常结束的情况下,执行这里的else
- while循环语句
3.1 格式1:
while 判断条件表达式:
循环体
3.1.1 例子
注意: 使用while循环的时候,要注意结束循环的条件变化!否则一不小心就成了死循环
num = 1
while num <= 5:
print("好好学习,天天向上!")
num = num + 1
print("hello world")
3.2 格式2
while 判断条件表达式:
循环体
else:
语句体 # 当while循环正常结束的情况下,执行这里的else
- for循环和while循环的区别?
当你确定循环的范围的时候,优先考虑for循环 【吃葡萄】
若循环的范围不确定,但是能够知道循环的结束条件的时候,优先考虑while循环 【喝水】
控制流程语句
- continue 继续,跳过当次循环,继续下一次循环
1.1 需求:遍历1-10,当遇到5的时候,使用一次continue
1.1.1 for循环实现
for i in range(1, 11):
if i == 5:
continue
print(i)
print("好好学习")
1.1.2 while 循环实现
num = 1
while num <= 10:
if num == 5:
num = num + 1
continue
print(num)
num = num + 1
- break 结束,终止整个循环
2.1 需求:遍历1-10,当遇到5的时候,使用一次break
2.1.1 for循环实现
for i in range(1, 11):
if i == 5:
break
print(i)
print('好好学习')
2.1.2 while循环实现
num = 1
while num <= 10:
if num == 5:
num = num + 1
break
print(num)
num = num + 1
注意,遇到break的时候,无论是for循环,还是while循环,若存在else语法都不会执行
数据类型详解
字符串
概述:由若干个字符组成字符序列,称之为字符串
特点:字符串一旦被创建就不能被更改
- 定义一个字符串
s1 = "hello"
- 字符串一旦被创建就不能被更改
公共功能
- len() python内置的函数,可以获取字符串的长度【字符个数】
s1 = "shujiakeji"
print(len(s1))
- 字符串具有索引的概念,可以通过索引获取对应的字符
2.1 从左向右,从0开始编号;从右向左,从-1开始编号
2.1.1 使用for循环遍历一个字符串,得到每一个字符
3.1.2 字符串通过索引获取字符语句格式:字符串变量名[索引]
s1 = 'shujia'
# print(len(s1))
for i in range(len(s1)): # 0 - 5
print(s1[i], end='')
else:
print()
print('hello world')
- 字符串具有切片功能
3.1 字符串变量名[开始索引 : 结束索引] 【注意:左闭右开】
s1 = '同学们,大家好,欢迎来到学校!'
print(s1[8:11]) # 8,9,10\
print(s1)
s1 = '同学们,大家好,欢迎来到学校!'
print(s1[-5:-2])
print(s1)
3.2 字符串变量名[开始索引 : 结束索引 : 步长]
s1 = '同学们,大家好,欢迎来到学校!'
print(s1[::2]) # 步长为2
print(s1)
独有功能
- upper() 转大写
s1 = "hello"
print(s1.upper()) # HELLO
- lower() 转小写
s1 = "heLlO wORlD"
print(s1.upper()) # HELLO
print(s1.lower()) # hello world
举例应用:登录例子
while True:
name = input('请输入您的姓名:')
if name.upper() == 'Q':
print('退出系统....')
break
pwd = input('请输入您的密码:')
if name == 'root' and pwd == '123456':
print('登陆成功!')
break
else:
print('登录失败!请重新输入....')
- isdigit() 判断字符串内容是否是数字
s1 = input('请输入一个字符串:') # '100' 'hello'
if s1.isdigit():
print(int(s1) + 1)
else:
print('您输入的字符串内容不是一个数值')
print('好好学习')
标签:name,python,s1,基础,while,详解,print,input,输入您
From: https://blog.csdn.net/lou0720/article/details/143982620