python输入成绩输出等级循环输入e退出_[Python ] Python语法基础——循环结构,而对于[RangeE],枚举()],中断,继续,PythonPython,whileforin,配合,...

如果在程序中我们需要

重复的执行某条或某些指令

,比如控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令,这种代码结构我们叫做

“循环结构”

Python中构造循环结构有两种方式,一种是

for-in

循环,一种是

while

循环。

一、for-in 循环

如果

明确的知道循环执行的次数

或者

要对一个容器进行迭代

,那么推荐使用

for-in

循环。

Python 的

for-in

循环 和 C/C++ 中的

for

循环 不太一样,是

序列中的元素

逐个迭代

,这个序列可以是

一个列表

或者

一个字符串

等等。

Python 中 for 循环的一般格式:

for variable in sequence:

statements

就是把序列

sequence

中的每个元素代入变量

variable

中,然后执行

statements

语句。

举个例子

names = ['Bart', 'Lisa', 'Adam']

for name in names:

print("Hello," + name + "!")

# 输出

# Hello,Bart!

# Hello,Lisa!

# Hello,Adam!

range()函数 等差数列

for-in

循环 常常配合

range()

函数 来使用。

range([start,] stop[, step])

Python的内置函数,根据 start与stop指定的范围 以及 step设定的步长,

生成一个等差数列的

生成器 (itrator)

,可以设置递增或者递减。

生成器是什么?

参数说明:

start:

计数

从 start 开始

默认从 0 开始

。例如 range(5) 等价于range(0, 5);

stop:

计数到 stop 结束,但

不包括 stop

。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有5

step:

步长,

默认为1

。例如:range(0,5) 等价于 range(0,5,1)

range()

的用法非常灵活

>>> range(10) # 从 0 开始到 10

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> range(1, 11) # 从 1 开始到 11

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> range(0, 30, 5) # 步长为 5

[0, 5, 10, 15, 20, 25]

>>> range(0, 10, 3) # 步长为 3

[0, 3, 6, 9]

>>> range(0, -10, -1) # 倒序

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> range(0)

[]

>>> range(1, 0)

[]

for-in

循环中

range()

的常见用法

# 循环10次

for i in range(10):

...

enumerate()函数

如果你在遍历序列时,需要同时获取下标和值,可以使用

enumerate()

函数

for i in range(len(nums)):

print(i, nums[i])

print("------")

for (i, num) in enumerate(nums):

print(i, num)

二、while 循环

如果

不知道具体的循环次数

,推荐使用while循环。

while循环

通过一个

条件表达式

来控制循环

,表达式的值为True(即条件满足)则循环继续,表达式的值为False(即条件不满足)则循环结束。

Python 中 while 语句的一般格式:

while condition:

statements

举个例子

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 2

print(sum)

特殊用法:无限循环

我们可以通过设置条件表达式永远不为 false 来实现无限循环,比如:

while True : # 表达式永远为 true

num = int(input("输入一个数字 :"))

print ("你输入的数字是: ", num)

print ("Good bye!")

你可以使用 CTRL+C 来退出当前的无限循环。

无限循环在服务器上客户端的实时请求非常有用。

break 和 continue 语句

break 结束循环

如果需要提前结束循环,可以使用

break

语句

break

语句可以

跳出当前 for 和 while 的循环体

n = 1

while n <= 100:

if n > 10: # 当n = 11时,条件满足,执行break语句

break # break语句会结束当前循环

print(n)

n = n + 1

print('END')

执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。

continue 跳过当前这次循环

continue

语句可以

跳过当前这次循环,直接开始进行下一次循环

举个例子:

for i in range(0, 11):

if n % 2 == 0: # 如果n是偶数,执行continue语句

continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行

print(n)

上面的程序可以打印出1~10中的奇数,1,3,5,7,9。

pass 空语句

Python 中的

pass

是空语句,它不做任何事情,一般用于占位,以保持程序结构的完整性,比如

>>>while True:

... pass # 等待键盘中断 (Ctrl+C)

应用案例

一、猜数字游戏

计算机出一个1~100之间的随机数由人来猜

计算机根据人猜的数字分别给出提示大一点/小一点/猜对了

import random

answer = random.randint(1, 100)

counter = 0

while True:

counter += 1

number = int(input('请输入: '))

if number < answer:

print('大一点')

elif number > answer:

print('小一点')

else:

print('恭喜你猜对了!')

break

print('你总共猜了%d次' % counter)

if counter > 7:

print('你的智商余额明显不足')

二、输入一个正整数判断是不是素数

素数指的是只能被1和自身整除的大于1的整数。

from math import sqrt

num = int(input('请输入一个正整数: '))

end = int(sqrt(num))

is_prime = True

for x in range(2, end + 1):

if num % x == 0:

is_prime = False

break

if is_prime and num != 1:

print('%d是素数' % num)

else:

print('%d不是素数' % num)

三、打印如下所示的三角形图案

*

**

***

****

*****

*

**

***

****

*****

*

***

*****

*******

*********

row = int(input('请输入行数: '))

for i in range(row):

for _ in range(i + 1):

print('*', end='')

print()

for i in range(row):

for j in range(row):

if j < row - i - 1:

print(' ', end='')

else:

print('*', end='')

print()

for i in range(row):

for _ in range(row - i - 1):

print(' ', end='')

for _ in range(2 * i + 1):

print('*', end='')

print()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值