phpmysql网站开发实例,网页视频怎么下载ios,新增备案网站,网上商城软文推广【目录】 文章目录 99. for循环练习题-3种方式输出0-91. for循环和while循环的区别2. 输出 0~(n-1)的数字2.1 基础代码2.2 自定义函数代码2.3 异常处理语句代码 【正文】 99. for循环练习题-3种方式输出0-9
1. for循环和while循环的区别
for循环和while循环都用于重复执行特定…【目录】 文章目录 99. for循环练习题-3种方式输出0-91. for循环和while循环的区别2. 输出 0~(n-1)的数字2.1 基础代码2.2 自定义函数代码2.3 异常处理语句代码 【正文】 99. for循环练习题-3种方式输出0-9
1. for循环和while循环的区别
for循环和while循环都用于重复执行特定的代码块。
【for循环语法】
for 迭代变量 in 迭代对象:循环体【while循环语法】
while 条件表达式:循环体【区别】
while循环中只有一个循环条件如果为真则执行循环体代码否则跳出循环。
while循环没有明确的计数器或循环变量需要在循环体中手动更新条件或使用break语句来跳出循环。
有明确的条件用while循环。
不确定条件但明确了在某个范围之内用fo循环。
2. 输出 0~(n-1)的数字
【目标任务】
在同一行内输出 0-n 中的前 n 个数字输出的每个数字后跟一个空格。
【输入要求】
输入一个不大于10的正整数n。
【输出要求】
在同一行中输出 0~(n-1) 的数字。
【示例】
输入3
输出0 1 2
【思路解析】
输出 0~(n-1) 的数字0~(n-1)这是一个范围。
在某个范围内我们用for语句来实现。
2.1 基础代码
【代码示例】
n int(input(请输入数字 n: ))for i in range(n):print(i, end )【终端输出】
0 1 2 终端输入3输出结果为0 1 2。
【代码解析】
n int(input(请输入数字 n: ))input函数获取用户输入的数字注意input函数接收的数据类型为字符串类型。
用int函数其字符串类型的数据转换为整数类型后赋值给变量 n。
for i in range(n):for循环语法
for 迭代变量 in 迭代对象循环体i 是迭代变量。
range(n) 是迭代对象。
使用 for 循环和 range(n) 来生成一个从 0 到 n-1 的整数序列。
range(n) 函数会生成一个包含 0 到 n-1 的序列每次循环迭代时将当前迭代的值赋值给变量 i。
注意注意 for 循环语句后面接一个英文冒号:冒号后面的循环体代码需要有4个空格的缩进。
注意注意 range(n)是生成的序列只到n-1不包含n。
print(i, end )这是是for语句要循环执行的代码。
注意该语句前有4个空格的缩进。
print(i, end ) 将每个数字打印出来并用空格作为分隔符。
end 的作用是将默认的换行符 \n 替换为一个空格这样数字就会在同一行上输出。
print函数语法
print(value, …, sep , end\n, filesys.stdout, flushFalse)一个完整的print()函数有5个参数
end参数设定输出语句以什么结尾默认是换行符\n结尾即输出后会重新起一行。
注意题目要求在同一行内且每个数字后跟一个空格因此这里需要添加 end 。
【没有end参数默认 end‘\n’】
n 3
for i in range(n):print(i)【终端输出】
0
1
2【end 】
n 3
for i in range(n):print(i, end )【终端输出】
0 1 2 【区别】
默认时end\n输出有换行效果。
end 输出的数字以空格作为间隔。
2.2 自定义函数代码
【代码示例】
def print_numbers(n):for i in range(n):print(i, end )n int(input(请输入数字 n: ))
print_numbers(n)【终端输出】
0 1 2 【代码解析】
def print_numbers(n):def 语句定义了一个名为 print_numbers 的函数它接收一个参数 n。
def 是关键字。print_numbers函数名称你可以根据自己的喜欢命名。( ) 一对英文圆括号。n 是自定义函数接收的参数。
注意注意如果有多个参数参数之间使用英文逗号,分隔。
注意注意如果没有参数也必须保留一对空的英文圆括号( )否则程序会报错。
for i in range(n):print(i, end )在函数内部我们使用 for 循环和 range(n) 来生成一个从 0 到 n-1 的整数序列并使用 print 函数将每个数字逐个打印出来。
我们使用 end 参数来指定以空格作为分隔符使得数字在同一行上输出。
n int(input(请输入数字 n: ))用input函数从终端获取一个数字 n 。
print_numbers(n)调用函数语法
函数名(参数列表)当你定义了一个函数后你可以通过函数名加上一对圆括号来调用它。
括号里可以包含函数需要的参数。
如果函数没有参数则括号可以为空。
print_numbers是函数名。 ( )一对英文圆括号。n实际传入给函数的值。
2.3 异常处理语句代码
没有学过异常处理语句的同学请忽略该部分内容。
要加入异常处理语句就要先确定程序可能引发的异常错误。
上面的代码异常可能发生在终端输入。
终端输入有以下几种情况
输入一个正整数。输入一个负整数。输入0。输入一个小数。输入的内容非数据类型。
【输入一个正整数3】
def print_numbers(n):for i in range(n):print(i, end )n int(input(请输入数字 n: ))
print_numbers(n)【终端输出】
0 1 2 【输入一个负整数-3】
def print_numbers(n):for i in range(n):print(i, end )n int(input(请输入数字 n: ))
print_numbers(n)终端输入-3程序什么也没输出。
【代码解析】
print(list(range(-3)))【终端输出】
[]range函数语法为
range(start,end,step)range 函数有3个参数start,end,step。
在 range 函数中如果传入的 end 参数小于等于 start 参数并且步长 step 的符号与 start - stop 的符号相同那么生成的序列将为空。
list(range(-3))返回的是空列表。
for i in range(-3): 没有可以遍历的内容因此for循环语句没有任何输出。
range函数相关知识可参考下面的链接
42. range函数—生成器函数-更新
【输入0】
def print_numbers(n):for i in range(n):print(i, end )n int(input(请输入数字 n: ))
print_numbers(n)【代码解析】
print(list(range(0)))【终端输出】
[]range(0)和range(-3)一样都是空的不会有内容返回。
【输入一个小数0.3】
def print_numbers(n):for i in range(n):print(i, end )n int(input(请输入数字 n: ))
print_numbers(n)【终端输出】
ValueError: invalid literal for int() with base 10: 0.3range函数接收的参数必须是整数。
当输入小数时程序报错。
ValueError: invalid literal for int() with base 10: 0.3“传入的值错误使用十进制将 ‘0.3’ 转换为整数时出现无效字面值”。
【输入的内容非数据类型p】
def print_numbers(n):for i in range(n):print(i, end )n int(input(请输入数字 n: ))
print_numbers(n)【终端输出】
ValueError: invalid literal for int() with base 10: pValueError: invalid literal for int() with base 10: p“传入的值错误使用十进制将 ‘p’ 转换为整数时出现无效字面值”。
【思路解析】
输入一个正整数 - 程序正常运行 输入一个负整数 - 程序没有输出 输入0 -程序没有输出 输入一个小数- 程序报错 - ValueError: invalid literal for int() with base 10: 0.3 输入的内容非数据类型-程序报错 - ValueError: invalid literal for int() with base 10: p
【解决可能出现的异常】
输入一个负整数 - 输入的数0请重新输入 输入0 -输入的数0请重新输入 输入一个小数 - 用except语句抛出ValueError异常 输入内容非数据类型 - 用except语句抛出ValueError异常
【代码示例99-1.py】
def print_numbers(n): for i in range(n):print(i, end ) try:n int(input(请输入数字 n: ))while n 0:n int(input(输入的数字小于等于0请重新输入数字 n: ))print_numbers(n)
except ValueError as e:print(您输入的不是正整数, e)源代码请到金山文档对应文件夹下载。
【终端输出】 【代码解析】
def print_numbers(n): 定义了一个名为 print_numbers 的函数该函数接受一个参数 n。
for i in range(n):使用 for 循环遍历从 0 到 n-1 的数字。
print(i, end ) 打印每个数字 i并以空格作为分隔符。
try: try…except 是捕获异常语句。
try 语句块中的代码会被执行。
如果执行过程中出现了异常就会跳转到 except 语句块中的代码执行。
n int(input(请输入数字 n: )) 提示用户输入一个数字并将其转换为整数类型赋值给变量 n。
while n 0: 当输入的数字小于等于 0 时进入循环。
n int(input(输入的数字小于等于0请重新输入数字 n: )) 输入的数字小于等于 0 时提示用户重新输入一个数字并将其转换为整数类型赋值给变量 n。
print_numbers(n)当输入的数字为正整数时执行该语句。
调用函数 print_numbers传入参数 n以打印从 0 到 n-1 的数字序列。
调用函数语法函数名(参数列表)。
except ValueError as e: 当输入的内容不是数据类型就会执行except语句。 except关键字。 ValueError异常名称。 as关键字。 e可选参数表示给前面的的异常指定一个别名该别名可根据你的喜欢命名。
print(您输入的不是正整数, e)打印出错误消息指示用户输入的不是一个正整数。
有e可以输出该语句ValueError: invalid literal for int() with base 10: p。
有关异常语句的相关内容可参考下面的链接
95. Python基础教程:异常处理try…except语句