0
点赞
收藏
分享

微信扫一扫

【Python从入门到实战100天】04. 循环结构(保姆级图文+实现代码)

杨小羊_ba17 2022-03-30 阅读 23

目录


三种循环方式

1. for-in循环

  • 基本格式
sum = 0
for x in range(101):
    sum += x
print(sum)
  • 用for循环实现1~100之间的偶数求和
    使用range实现
sum = 0
for x in range(2, 101, 2):
    sum += x
print(sum)

在这里插入图片描述

使用if判断实现

sum = 0
for x in range(1, 101):
    if x % 2 == 0:
        sum += x
print(sum)

在这里插入图片描述


2. while循环

  • 猜数字游戏
    计算机出一个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('你的智商余额明显不足')

3. enumerate循环(补充原作者)

优点在于可以同时输出索引值和内容。

#真正的python资深程序员才会用的写法3(让我们装X)
letters=("a","b","c")#定义tuple元组
#其实就是这里的letters可以直接表示写法2中的letters[i],总归是简便一点,主要是专业!
print("#"*10+"真正的python资深程序员才会用的写法3"+"#"*10)
for i,letter in enumerate(letters):
    print(i,letter)

在这里插入图片描述


实战题目

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)

在这里插入图片描述


2. 输入两个正整数,计算最大公约数和最小公倍数。

x = int(input('x = '))
y = int(input('y = '))
if x > y:
    x, y = y, x
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print('%d和%d的最大公约数是%d' % (x, y, factor))
        print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
        break

在这里插入图片描述


3. 打印三角形图案

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()

在这里插入图片描述


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python学习笔记!

本专栏系列内容基于开源项目jackfrued-Python-100-Days


举报

相关推荐

0 条评论