Python 1-04 循环语句

控制结构语句 循环语句

一、while

python 复制代码
while True:
    age = input('请输入年龄:')
    if not age:  # 直接回车 age = '', not age 是 True
        continue

    elif age.isdigit():
        print(f'十年后,你 {int(age)+10} 岁!')
        break
    else:
        print('你输入的类型错误。')

二、for

求 1 到100 的和

python 复制代码
sum = 0 # 用于记录和
for i in range(1, 101):
	sum += i
print(sum)

三、break 和 continue

break 结束当前循环
continue 结束本次循环,继续判断条件执行下一次循环。

四、else

循环语句和 else 配合使用,非 break 终止循环,即正常结束循环,不是通过 break 跳出的,才执行 else 代码。

python 复制代码
x = True
while x:
    print('start')    
    # break
    x = False
else:
    print('end')

输出 100 以内的素数

python 复制代码
prime = []
for i in range(2,100):
	# 如:int(97**0.5) = 9 循环 8 次就可以了,a = b*c,b 和 c 至少有一个 <= a 的平方根。 
	# for j in range(2,i):
    for j in range(2,int(i**0.5)+1):     
        if i % j == 0:
            break
    else:
        prime.append(i)

for i in prime:
    print(i,end=' ')

五、示例------猜数字游戏

https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/First_steps/A_first_splash

看看自己能看懂多少?

思考:

随机生成一个 100 以内的自然数。randomNumber = random.randint(1,100)

记录玩家当前的轮数。从 1 开始。guessCount

为玩家提供一种猜测数字的方法。

一旦输入选择,先将其记录下来,以便用户可以看到他们先前的猜测。

然后检查它是否正确。

如果正确:

显示祝贺消息。

如果出错,并且玩家有剩余轮次:

告诉玩家他们错了。

允许他们输入另一个猜测。

轮数加 1。

如果出错,并且玩家没有剩余轮次:

告诉玩家游戏结束。

python 复制代码
import random

title = '''
        猜数字游戏

我刚才随机选定了一个100以内的自然数。
看你能否在 10 次以内猜中它。
每次我都会告诉你所猜的结果是高了还是低了。'''

print('--------------------------------')
print(title) # 打印说明
print('--------------------------------')

randomNumber = random.randint(1,100) # 1 到 100 之间的一个随机数
textContent = '' # 用于记录每次输入的 数字 

for guessCount in range(10): # 共有 10 次机会
    userGuess = input('请猜数:') # 接收你猜的数
    
    if userGuess.isdigit(): # 如果你输入的是数字执行下面程序,否则的话 执行 else 

        userGuess = int(userGuess) # 字符串 转成 整数
        
        if guessCount > 0: # 跳过第一次 从第二次开始才有上次猜的数
            print( f'上次猜的数:{textContent}')
            
        print(f'第 {guessCount+1} 次') # 共猜了几次啦,因为 guessCount 是从 0 开始的
        textContent += str(userGuess) + ' ' # 记录每次输入的 数字 累加
        
        if userGuess == randomNumber: # 你猜的数正好是 开始的随机数 
            print('恭喜你!猜对了')
            break   # 如果从这里结束说明你猜对了,不会执行最后的 else 即 OVER   
            
        else: # 上面是猜对了,这里是你猜错的处理
            print('你猜错了!')    
            
            if userGuess < randomNumber: # 如果猜错了给出是高了还是低了
                print('你猜低了!') 
            else:
                print('你猜高了')
                
    else: # 和 if userGuess.isdigit() 是一对
        print('你的输入不正确!') # 当你输入的不是纯数字会执行

else: # for 循环的 else ,只有 上面执行完 10 次,而不是 通过 break 终止的循环 才执行下面的语句
    print('!!!GAME OVER!!!') # OVER
相关推荐
hef2884 小时前
如何生成特定SQL的AWR报告_@awrsqrpt.sql深度剖析单条语句性能
jvm·数据库·python
Jinkxs5 小时前
从语法纠错到项目重构:Python+Copilot 的全流程开发效率提升指南
python·重构·copilot
技术专家5 小时前
Stable Diffusion系列的详细讨论 / Detailed Discussion of the Stable Diffusion Series
人工智能·python·算法·推荐算法·1024程序员节
段一凡-华北理工大学5 小时前
【大模型+知识图谱+工业智能体技术架构】~系列文章01:快速了解与初学入门!!!
人工智能·python·架构·知识图谱·工业智能体
IT小Qi5 小时前
iperf3网络测试工具
网络·python·测试工具·信息与通信·ip
以神为界5 小时前
Python入门实操:基础语法+爬虫入门+模块使用全指南
开发语言·网络·爬虫·python·安全·web
xcjbqd05 小时前
Python API怎么加Token认证_JWT生成与验证拦截器实现
jvm·数据库·python
io_T_T5 小时前
如何调用google api 进行开发(使用免费版本)
python
逻辑驱动的ken6 小时前
Java高频面试题:03
java·开发语言·面试·求职招聘·春招
噜噜大王_6 小时前
深入理解 C 语言内存操作函数:memcpy、memmove、memset、memcmp
c语言·开发语言