python之for语句及其相关练习

range()内置python函数
range(stop):0~stop-1
range(start,stop):start~stop-1
range(start,stop,step):start~stop-1,step为步长
1.求1~100之和

sum = 0
for i in range(1,101):
    sum = sum + i
print(sum)

2.求1~100之间的所有偶数之和

sum = 0
for i in range(2,101,2):
    sum = sum + i
print(sum)

3.求1~100之间的所有的奇数之和

sum = 0
for i in range(1,101,2):
    sum = sum + i
print(sum)

4.阶乘

res = 1
num = int(input('请输入数字:'))
for i in range(1,num+1):
    res = res * i
print('%d的阶乘为:%d' %(num,res))

for 循环使用的语法:

for 变量 in range(10):
    循环需要执行的代码
else:
    全部循环结束后要执行的代码

练习:
用户登陆程序
1.输入用户名和密码
2.判断用户名和密码是否正确(‘name==root’,'passwd=‘westos’)
3.为了防止暴力破解,登陆次数仅有三次,如果超过三次机会,报错

for i in range(3):
    username = input('请输入用户名:')
    password = input('请输入密码:')
    if username == 'root' and password == 'redhat':
        print ('登陆成功')
        break
    else:
        print('登陆失败')
        print('还有%d次机会' %(2-i))
else:
    print('登陆失败次数限制,请刷脸!')

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i != j and i != k and j != k:
                print(i,j,k)

最大公约数和最小公倍数

num1 = int(input('请输入数字1:'))
num2 = int(input('请输入数字2:'))
if num1 < num2:
    min = num1
else:
    min = num2
for i in range(1,min+1):
    if num1 % i == 0 and num2 % i == 0:
        gys = i
gbs = (num1 * num2)/gys
print('%d和%d的最大公约数是:%d' %(num1,num2,gys))
print('%d和%d的最小公倍数是:%d' %(num1,num2,gbs))

九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print('%d*%d=%d\t' %(j,i,j*i),end=(''))   ##end=('')表示不换行
    print('')     ##表示换行

更多表示方法见while语句及其相关练习

猜你喜欢

转载自blog.csdn.net/weixin_44416500/article/details/88556529