Day4 循环结构

原教材地址:https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/04.%E5%BE%AA%E7%8E%AF%E7%BB%93%E6%9E%84.md
/for-in 循环
/while 循环

for-in 循环


/range(a,b)中,范围为a到b-1,不包含b

while循环

"""
猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了

Version: 0.1
Author: 骆昊
"""

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:判断一个数是否是素数

import math
n=int(input("请输入一个整数:"))
end= int(math.sqrt(n))
"""
#一个数的因数是成对出现的,其中一个因数在开方后的前面一个
在开方后的后面,所以只需判断它前面的数就可以了,如果前面都
没有,那么它后面更不会有.这样就可以减少循环次数.
"""
isprime = True
for x in range(2,end+1):
    if n % x ==0:
        isprime = False
        break
if isprime and n != 1:
    print("{}是素数".format(n))
else:
    print("{}不是素数".format(n))

练习2:输入两个正整数计算最大公约数和最大公倍数

#两个不为0的数的乘积等于这两个数的最小公倍数乘以最大公因数
x = int(input("请输入不为零的正整数:"))
y = int(input("请输入另一个不为零的正整数:"))
if x > y :
    x,y=y,x
for factor in range(x,0,-1):
    if x % factor ==0 and y % factor ==0:
        print("{}和{}的最大公约数为{}".format(x,y,factor))
        print("{}和{}的最小公倍数为{}".format(x,y,(x*y)/factor))

你可能感兴趣的:(Day4 循环结构)