当天知识点回顾
能够说出while循环语句的作用和语法格式
能够使用while语句完成循环
能够说出while语句嵌套的格式
能够说出for循环语句的作用和语法格式
能够使用 for 和 range函数完成循环
能够说出 break和continue的使用和区别
能够使用 for ... else ...语句完成循环
能够知道知道在Python中 单引号或者双引号或者三引号中的数据,就是字符串。
能够使用 s% 和 f-strings 语法完成字符串的输出
能够知道使用 input 函数 获取到的数据类型是字符串
能够字符串的下标的使用和知道下标是从 0 开始的。
能够知道切片的语法 [起始:结束:步长]
能够记住五个字符串常见的操作方法 find、replace、split、strip、join
随堂练习
说出while循环的应用场景和语法格式
完成循环打印5次hello world
使用循环计算出 1-100 所有数字累加的和
使用循环计算出 1-100 之间偶数的和
使用while循环打印三角形
使用while循环完成九九乘法表
使用for循环完成 1-100之间偶数的和
说出 break和continue的区别
认识字符串
f-string用法
字符串的下标和切片
字符串常见操作方法
每日练习
题目1 (实操题)
题干
使用while循环计算1~100的累加和(包含1和100)
训练目标
whlie循环的基本使用
训练提示
whlie循环的基本格式是什么?
while循环的条件(次数)和累加值的关系?
求和后重新赋值
参考方案
用一个“sum”的变量来存储求和后的数值
定义变量,控制循环次数
使用while循环,进行求和运算
操作步骤
定义一个变量“sum”,初始化赋值为“0”,保存求和的值
定义变量“i” ,用于控制循环次数
while循环,当"i<=100"时跳出循环
累加和
变量“i”自增,确保循环能够正常跳出
参考答案
# 1-100累加和计算
sum = 0
i = 1
while i<=100:
sum += i
i += 1
print(sum)
题目2(实操题)
题干
使用while嵌套循环打印如下图形
*
* *
* * *
* * * *
* * * * *
训练目标
while嵌套循环的使用
训练提示
使用while嵌套的形式打印图形
哪个循环控制的是行数,哪个循环控制的是列数?
内层循环的条件是什么?
如何让打印后不自动换行
参考方案
while嵌套循环,外层循环代表的是行数,内层循环代表的是每行的个数(列)
内层循环个数是外层循环行数的值
打印print(" “,end=” ") end代表的是每次打印的时候以什么结尾,默认是“\n” 换行
操作步骤
定义外层循环,循环5次
定义内层循环,循环条件是外层循环的循环次数
打印“*” 设置 end=" " 修改自动换行
内层循环结束后打印一个换行
参考答案
i = 1
j = 1
while j <= 5:
while i <= j:
print('*',end=' ')
i += 1
print()
i = 1
j += 1
题目3(实操题)
题干
编写代码模拟用户登陆。要求:用户名为 python,密码 123456,如果输入正确,打印“欢迎光临”,程序结束,如果输入错误,提示用户输入错误并重新输入
训练目标
while中的break的使用
训练提示
定义变量,用户名和密码采用什么格式存储
循环没有次数限制,那么我们使用while循环的时候条件是什么?
判断用户名和密码是否相同,我们的条件采用“or"还是“and”?
break的作用是什么
参考方案
首先我们要自己定义用户名和密码保存
如果用户错误那么就需要重新循环,我们就需要采用什么方式进行循环?
提示用户输入信息
判断输入信息,根据不同的结果进行不同的执行方式
操作步骤
定义名户名和密码分别为name = “python”,pwd = “123456”
使用循环,循环条件是True
提示用户输入用户名和密码
判断用户名和密码是否正确
如果正确跳出循环,不正确提示输入错误
参考答案
name = "python"
pwd = "123456"
while True:
user_name = input('请输入用户名:')
user_pwd = input('请输入密码:')
if user_name == name and user_pwd == pwd:
print('欢迎光临')
break
else:
print('用户名或密码不正确,请重新输入!')
题目4(实操题)
题干
设计“过7游戏”的程序, 打印出1-100之间除了7和7的倍数之外的所有数字,如果遇见7和7的倍数则打印“哈~”跳过本次循环。
训练目标
while中的continue的使用
训练提示
continue的作用是什么?
如何判断一个数是7的倍数
如果是7的倍数我们需要跳过本次循环进入到下一次循环
参考方案
我们如果打印1~100的数字?
当遇见了7的倍数,我们打印“哈~”后还如何做?
注意“i”的位置,不要放到continue的下面,会造成死循环
操作步骤
定义循环次数
使用while循环
判断当前值是否是7的倍数
如果是7的倍数那么我们需要打印“哈~”,并且跳过本次循环
参考答案
i = 1
while i <= 100:
if i % 7 == 0:
print('哈~')
i += 1
continue
else:
print(i)
i += 1
拓展提高
题目5(实操题)
题干
已知变量如下:
a = "itheima"
从键盘上输入一个字母,判断此字母 是否在变量 a 中,如果在则输出 找到了, 如果不在 则输出 查无此字母
训练目标
for…else的使用
训练提示
遍历此变量,判断这个 “i”,是否 等于 遍历得到的每个结果,如果等于,则说明 在变量 a中
注意在循环中 执行了break 后,else则不会执行
操作步骤
使用for 循环遍历变量a
判断遍历的结果是否 == 于 “i”, 如果等于, 则输出找到了,执行break
如果没找到, 则执行 else,输出 查无此字母
参考答案
a = "itheima"
b = input('请输入一个字母:')
for i in a:
if b == i:
print('找到了')
break
else:
print('查无此字母')
题目6 (实操题)
题干
要求用户输入一个字符串,遍历当前字符串并打印,如果遇见“q”,则跳出循环。如果遇见“ ”(空格)则跳过当前输出。
训练目标
for循环的基本使用
break的作用
continue的作用
训练提示
for 循环的基本语法是什么
for循环的作用是什么
break的作用?
continue的作用?
参考方案
使用for循环遍历当前字符串
判断每一字符是什么进行操作
操作步骤
提示用户输入字符串
便利当前字符串
如果是“q”则退出,如果是“ ”(空格)则跳过本次循环
打印字符
参考答案
str1 = input('请输入字符串:')
for i in str1:
if 'q' == i:
break
elif ' ' == i:
continue
print(i,end='')
题目7 (实操题)
题干
使用for循环计算从0到用户输入的值的累加和
训练目标
range()的使用
训练提示
range()方法的作用
for循环如何使用
累加重新赋值
参考方案
使用for寻遍遍历0~用户输入的值
进行累加重新赋值
操作步骤
定义变量sum,初始化sum=0
遍历0~用户输入的值 的所有的值
进行累加和
参考答案
sum = 0
num1 = int(input('请输入一个整数:'))
for i in range(num1+1):
sum += i
print(sum)
自主预习
题目8 (实操题)
题干:
获取用户输入的用户名和密码,用户名要求长度5-15位,密码要求 6-20位,如果不满足条件打印出对应的提示信息(比如:用户名不符合,打印出 用户名要求长度5-15位),如果满足条件,输出用户输入的用户名密码,格式如下:
您输入的用户名是:xxx,密码为:xxxxxxx
训练目标
获取用户的输入
判断字符串的长度
参考步骤
定义变量获取用户输入的用户名和密码
使用len方法获得用户输入的字符串的长度
判断长度是否符合规则
参考答案
user_name = input('请输入用户名:')
user_pwd = input('请输入密码:')
if 5 <= len(user_name) <= 15 and 6 <= len(user_name) <= 20:
print(f'您输入的用户名是:{user_name},密码为:{user_pwd}')
elif len(user_name) < 5 or len(user_name) > 20:
print('用户名不符,请输入5-15位的用户名')
elif len(user_pwd) < 6 or len(user_pwd) > 20:
print('密码不符,请输入6-20位的密码')
题目9(实操)
题干
如果需要使用变量保存以下字符串,我们该如何书写代码
鲁迅说:“我没有说过这句话”
训练目标
让学员知道含有字符串嵌套的方式
训练提示
在python中,有两种表现形式都可以定义为字符串类型,是哪两种方式,是否可以混合使用呢
参考方案
使用 " " 和 ’ ’ 都可以对字符串进行定义
操作步骤
使用""嵌套’'嵌套的方式定义字符串
参考答案
str1 = '鲁迅说:"我没有说过这句话"'
print(str1)
题目10(实操题)
题干
做一个简单的用户信息管理系统:
提示用户依次输入姓名,年龄和爱好
并且在输入完成之后,一次性将用户输入的数据展示出来
训练目标
字符串的声明
字符串的输入
字符串的输出
训练提示
在python中,通过 “” 或者 ‘’ 声明一个字符串类型的变量
使用input()函数从键盘获取数据
通过%s 的格式化操作符来输出字符串类型
参考方案
通过input函数进行字符串数据的录入
使用 string 类型保存录入的数据
使用 %s 格式化输出保存的数据
操作步骤
通过input函数进行字符串数据的录入
使用 string 类型保存录入的数据
使用 %s 格式化输出保存的数据
参考答案
user_name = input("请输入您的姓名:")
user_age = input("请输入您的年龄:")
user_hobby = input("请输入您的兴趣:")
print('姓名:%s,年龄:%s,爱好:%s'%(user_name,user_age,user_hobby))
题目11(实操题)
题干
现有字符串如下,请使用切片提取出ceg
words = “abcdefghi”
训练目标
字符串的切片使用
训练提示
1, 切片的语法:[起始:结束:步长]
2, 选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),
3, 步长表示选取间隔,默认步长是正值,即从左到右选取,如果步长为负值,则从右向左选取
参考方案
1,使用切片进行截取,起始位置是-7,结束位置是-1
2,反向选取,步长为2
操作步骤
起始位置为-7,结束位置是-1,步长为2
参考答案
words = "abcdefghi"
# 正向取
new_words1 = words[-7:-1:2]
# 反向取
new_words2 = words[-3:-8:-2]
print(new_words1)
print(new_words2)