python100天之day3

循环结构

上一节中我们已经学习过了python当中的分支结构,今天我来给大家隆重介绍我们的循环结构
再将循环结构之前,我想给大家介绍一下关于循环的基础知识
  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(0, 101, 2):可以用来产生0到100的偶数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

for-in循环

下面给大家带来一个引例:计算1~100求和的结果

思路分析:我们要建立一个初值0,每次循环从1~100里面取一个数,定义一个中间变量进行累加。
"""
计算1到100求和得结果
"""
sum=0#定义一个初值
#从1-100里一次取出一个数
for i in range(1,101):
    sum+=i#我们在day1里提到过的复合运算符,sum=sum+i,每次循环sum的值都会发生变化
print(sum)

典例2:代码来实现1~100之间的偶数求和

"""
计算1到100之间的偶数和
version1.0
"""
double_sum=0
for i in range(2,101,2):
    double_sum+=i
print(double_sum)


"""
用for循环实现1~100之间的偶数求和
注:这种方法不推荐
"""
sum = 0
for x in range(1, 101):
    if x % 2 == 0:
        sum += x
print(sum)
给大家一个练手题吧!!!

习题:请用代码实现1~100之间的奇数求和

while循环

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生bool值的表达式来控制循环,当表达式的值为True时则继续循环,当表达式的值为False时则结束循环

请用代码实现猜数字游戏!

猜数字游戏的规则是:计算机出一个1到100之间的随机数,玩家输入自己猜的数字,计算机给出对应的提示信息(大一点、小一点或猜对了),如果玩家猜中了数字,计算机提示用户一共猜了多少次,游戏结束,否则游戏继续。
"""
猜数字游戏
"""
import random#这里我们导入python内置的随机数包
answer=random.randint(1,100)#在1到100里面产生一个随机整数
count=0#赋初值
while True:
    player=int(input('请你输入一个1到100里的整数:'))#因为猜错了还要输入数字,可以判断player应该定义为局部变量
    count+=1
    if player==answer:
        print('猜对了!!')
        break###猜对了,就不继续猜了!退出循环
    elif player<answer:
        print('小一点')
    else:
        print('大一点')
print('你总共猜了%d次' % count)
if count > 10:
    print('你真是个大聪明')   
    

典例:九九乘法口诀表

"""
九九乘法口诀表
"""
for i in range(1, 10):
    print('\n')
    for j in range(1, i + 1):
        print('%d*%d=%d' % (i, j, i * j), end='\t')

练习1:输入一个正整数判断是不是素数。

  • 提示:素数指的是只能被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()

今天是更新的第三天了,希望越努力的人越幸运!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值