python-for循环

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lm236236/article/details/86547470

for循环:

在C语言和Java中for循环的语句为:
sum  = 0
for(i=1;i<=100;i++)
    sum += 1;
在Python中for循环的语法为:
for 循环使用的语法
for 变量 in range(10):    #变量从0循环到9
    循环需要执行的代码

range的用法:
>>> range(5)            
[0, 1, 2, 3, 4]
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,11)          
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   
>>> range(1,11,2)
[1, 3, 5, 7, 9]
>>> range(0,11,2)
[0, 2, 4, 6, 8, 10]
>>>

range(stop): 0~stop-1
range(start,stop): start~stop-1
range(start,stop,step): start~stop step(步长)

>>> for i in range(3):
...     print(i)
... 
0
1
2
求1~100之间的所有偶数和
[kiosk@foundation15 day02]$ /usr/local/python3.6/bin/python3 求1~100之间的所有偶数和.py 
2550
[kiosk@foundation15 day02]$ cat 求1~100之间的所有偶数和.py 
"""
# _*_coding:utf-8_*_
Name:求1~100之间的所有偶数和.py
Date:1/17/19
Author:westos-liming
Connect:liming.163.com
Desc:
"""
sum = 0
for i in range(0,101,2):
    sum += i
求阶乘:
[kiosk@foundation15 day02]$ /usr/local/python3.6/bin/python3 阶乘.py 
please input a num:0
1
[kiosk@foundation15 day02]$ /usr/local/python3.6/bin/python3 阶乘.py 
please input a num:1
1
[kiosk@foundation15 day02]$ /usr/local/python3.6/bin/python3 阶乘.py 
please input a num:4
24
[kiosk@foundation15 day02]$ cat 阶乘.py 
"""
# _*_coding:utf-8_*_
Name:阶乘.py
Date:1/17/19
Author:westos-liming
Connect:liming.163.com
Desc:
"""
num = int(input("please input a num:"))
if num == 0:
    JC = 1
else:
    JC =1
    for i in range(1,num+1):
        JC *= i
print(JC)

break和continue的用法:
break是跳出循环
continue是结束本次循环,进入下一次循环

for循环练习-1:
有1,2,3,4四个数字,求这四个数字能够生成多少个互不相同且无重复数字的三位数
依次抽取3个数字
存在两个数字相同的情况忽略
其他情况计数加1
打印总计数

[kiosk@foundation15 day02]$ /usr/local/python3.6/bin/python3 四个数字生成不同的 三位数.py 
24
[kiosk@foundation15 day02]$ cat 四个数字生成不同的三位数.py 
"""
# _*_coding:utf-8_*_
Name:四个数字生成不同的三位数.py
Date:1/17/19
Author:westos-liming
Connect:liming.163.com
Desc:
"""
count = 0
for i in range(1, 5):
    for j in range(1, 5):
        if j == i:
            continue
        else:
            for k in range(1, 5):
                if k == i or k == j:
                    continue
                else:
                    count += 1
print(count)
"""
for循环练习-2:
用户登录需求:
    1.输入用户名和密码;
    2.判断用户名和密码是否正确(name='root',passwd='westos')
    3.登录仅有三次机会,超过3次会报错
"""
[kiosk@foundation15 day02]$ /usr/local/python3.6/bin/python3 用户登录.py 
请输入用户名:sadsa
请输入密码:sadsa
登录失败,您还有2次机会
请输入用户名:root
请输入密码:sad
登录失败,您还有1次机会
请输入用户名:root
请输入密码:westos
登录成功
[kiosk@foundation15 day02]$ cat 用户登录.py 
"""
# _*_coding:utf-8_*_
Name:用户登录.py
Date:1/17/19
Author:westos-liming
Connect:liming.163.com
Desc:
"""
Count=3
User='root'
Passwd='westos'
for i in range(3):
    Count -= 1
    InUser=input("请输入用户名:")
    InPasswd=input("请输入密码:")
    if InUser == User and InPasswd == Passwd:
        print("登录成功")
    else:
        print("登录失败,您还有%d次机会" %Count)
用for循环实现命令行提示符:
[kiosk@foundation15 day02]$ /usr/local/python3.6/bin/python3 实现命令行提示符.py 
[kiosk@test ~]$ ls
run ls
四个数字生成不同的三位数.py  求1~100之间的所有偶数和.py  阶乘.py
实现命令行提示符.py	     用户登录.py
[kiosk@test ~]$ touch file
run touch file
[kiosk@test ~]$ ls
run ls
file			     实现命令行提示符.py	  用户登录.py
四个数字生成不同的三位数.py  求1~100之间的所有偶数和.py  阶乘.py
[kiosk@test ~]$ rm -rf file
run rm -rf file
[kiosk@test ~]$ ls
run ls
四个数字生成不同的三位数.py  求1~100之间的所有偶数和.py  阶乘.py
实现命令行提示符.py	     用户登录.py
[kiosk@test ~]$ exit
[kiosk@foundation15 day02]$ cat 实现命令行提示符.py 
"""
# _*_coding:utf-8_*_
Name:实现命令行提示符.py
Date:1/17/19
Author:westos-liming
Connect:liming.163.com
Desc:
"""
import os
for i in range(1000):
    cmd = input('[kiosk@test ~]$ ')
    if cmd:
        if cmd == 'exit':
            break
        else:
            print('run %s' %(cmd))
            os.system(cmd)
    else:
        continue
求两个数的最大公约数和最小公倍数
"""
# _*_ coding:utf-8 _*_
Name:06_最大公约数和最小公倍数.py
Date:19-1-13
Author:westos-wsp
Connect:wsp439@sina.com
Desc:
"""
"""
输入两个数值:
    求两个数的最大公约数和最小公倍数
    最小公倍数=(num1 * num2) / 最大公约数
"""

#1.输入两个数字
num1 = int(input('Num1:'))
num2 = int(input('Num2:'))

#2.找出两个数中的最小值
min_num = min(num1,num2)

#3.最大公约数的范围在1~min_num之间
for i in range(1,min_num + 1):
    if num1 % i == 0 and num2 % i == 0:
        gys = i

#4.最小公倍数
gbs = int((num1 * num2) / gys)

print('%s和%s的最大公约数为:%s' %(num1,num2,gys))
print('%s和%s的最小公倍数为:%s' %(num1,num2,gbs))

 

展开阅读全文

没有更多推荐了,返回首页