0%

python004

循环结构

应用场景

  • 持续打印某一相同的话
  • LED屏上持续滚动的字

for-in循环

明确知道循环次数或者对一个容器进行迭代

'''
1--100求和
'''
sum = 0
for i in range(101):
    sum += i
print(sum)

'''
1--100之间的偶数和
'''
sum = 0
for i in range(2,101,2):
    sum += i
print(sum)

while循环

不知道循环次数利用while循环

'''
猜数字游戏(1--100)
'''
from random import randint
answer = randint(1,100)
count = 0
while True:
    count += 1
    num = int(input("请输入您猜测的数字:"))
    if num == answer:
        print("bingo,您真厉害!")
        break
    elif num > answer:
        print("大了一点点")
    else:
        print("小了一点点")
print("你总共猜了%d次" % count)

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

练习

输入一个数判断是不是素数

import math
num = int(input("请输入一个整数:"))
is_prim = 0
for i in range(2, math.sqrt(num) + 1):
    if num % i == 0:
        is_prim = 1
        break
if is_prim and num != 1:
    print("不是素数")
else:
    print("是素数")

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

num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
if num1 > num2:
    num1, num2 = num2, num1
for i in range(num1, 0, -1):
    if num1 % i == 0 and num2 % y == 0:
        print("最大公约数为:%d" % i)
        print("最小公倍数为:%d" % (num1*num2//i))
        break

打印三角形
打印上三角,正三角,下三角

row = int(input("请输入要打印的行数:"))
for i in range(row):
    for j 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 j in range(row - i - 1):
        print(" ",end='')
    for j in range(2*i+1):
        print("*",end='')
    print()