python——循环(for循环、while循环)及练习

python——循环(for循环、while循环)及练习目标程序的三大流程1.while循环的基本使用 2.break和continue 3.while循环嵌套在程序开发中,一共有三种流程方式:顺序:从上向下,顺序执行代码 分支:根据条件判断,决定执行代码的分支 循环:让特定代码重复执行(解决程序员重复工作)一、for循环1、基本用法for循环使用的语法:“”"for变量inrange(10):循环…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目标程序的三大流程

1.while 循环的基本使用		
2.break 和 continue		
3.while 循环嵌套

在程序开发中,一共有三种流程方式:

顺序:从上向下,顺序执行代码		
分支:根据条件判断,决定执行代码的分支		
循环:让特定代码重复执行(解决程序员重复工作)

一、for循环

1、基本用法

for 循环使用的语法:

“””
for 变量 in range(10):
循环需要执行的代码
else:
循环结束时,需要执行的代码
“””

for i in range(5):
	print(i)

在这里插入图片描述

range的用法:

“””
range(stop): 0~stop-1
range(start,stop): start~stop-1
range(start,stop,step): start~stop step(步长)
“””
测试:

>>> 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]
>>>

2、练习:

(1)分别求1~100内偶数之和
sum = 0
for i in range(2,101,2):
    sum += i
print(sum)

在这里插入图片描述

(2)求1~100之间所有奇数之和
sum1 = 0
for i in range(1,101,2):
    sum1 += i
print(sum1)

在这里插入图片描述

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

在这里插入图片描述

(4)有1,2,3,4四个数字,求这四个数字能生成多少个互不相同且无重复数字的三位数
sum = 0
for i in (1,2,3,4):
    for j in (1,2,3,4):
            for k in (1,2,3,4):
                        if i != j and j!= k and i != k: 
                                       sum += 1
print('共有%d种组合' %sum)

在这里插入图片描述

(5)有1,2,3,4四个数字,求这四个数字能生成多少个互不相同且无重复数字的三位数
for x in range(1,5):
    for y in range(1,5):
        for z in range(1,5):
                if (x!=y) and (y!=z) and (z!=x):
                        print("%d%d%d" % (x, y, z))

在这里插入图片描述

优化后
i = 0
for x in range(1,5):
    for y in range(1,5):
        for z in range(1,5):
                if (x!=y) and (y!=z) and (z!=x):
                    i += 1
                    if i%4:
                        print("%d%d%d" % (x, y, z), end=" | ")
                    else:
                        print("%d%d%d" % (x, y, z))

在这里插入图片描述

(6)实现命令行提示符
  1. break:跳出整个循环,不会再执行循环后续的内容

  2. continue:跳出本次循环,continue后面的代码不再执行,但是还是会继续循环

  3. exit():结束程序的运行

    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
    在这里插入图片描述

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

在这里插入图片描述

(8)用户登录管理系统

用户登录需求:
1.输入用户名和密码;
2.判断用户名和密码是否正确(name=‘root’,passwd=‘westos’)
3.登录仅有三次机会,超过3次会报错

for i in range(3):
    user = input('请输入用户名:')
    passwd = input('请输入密码:')    
    if user=='root' and passwd == 'westos':        
        print('%s用户登录成功' %user)        
        break    
    else:        
        print('密码错误,请重新输入密码,您还剩%d次机会' %(2-i))
else:
    print('超过三次,登录失败')

在这里插入图片描述
在这里插入图片描述

(9)求最大公约数和最小公倍数

输入两个数值:
求两个数的最大公约数和最小公倍数
最小公倍数=(num1 * num2) / 最大公约数

# 输入两个数字
num1=int(input('Num1:'))
num2=int(input('Num2:')) 
# 找出两个数中的较小者
min_num = min(num1,num2) 
# 确定最大公约数
for i in range(1,min_num+1):    
    if num1 % i ==0 and num2 % i ==0:        
        max_commer = i
# 求最小公倍数
min_commer =int(num1 * num2)/max_commer 
print('%s 和 %s 的最大公约数为%s' %(num1,num2,max_commer))
print('%s 和 %s 的最小公倍数为%s' %(num1,num2,min_commer))

在这里插入图片描述

二、While循环

循环的作用就是让指定的代码重复的执行,while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行

while 条件():    
    条件满足时,做的事情1    
    条件满足时,做的事情2
    ......
1、基本用法
# 定义一个整数变量,记录循环的次数
i=1
# 开始循环
while i <= 3:    
# 希望循环内执行的代码    
    print('hello python')    
    # 处理计数器
    i+=1

在这里插入图片描述

2、死循环
while True:
    print('hello python')
3、求1~100之间数字的和
# 定义记录循环次数的变量
i = 0
# 定义结果变量
result = 0
while i <= 100:    
    result+=i    
    # 处理计数器    
    i+=1
# 输出结果
print('1~100之间的数字之和为:%d' %result)

在这里插入图片描述

4、用户登录管理
trycount = 0

while trycount < 3:
    name = input('用户名:')
    passwd = input('密码:')
    if name == 'root' and passwd == 'westos':
        print('登录成功')
        break
    else:
        print('登录失败')
        print('您还剩余%d次机会' %(2 - trycount))
        trycount += 1
else:
    print('登录次数超过三次,请稍后登录')

在这里插入图片描述
在这里插入图片描述

5、while 循环嵌套

while 里面还有 while

1.在控制台连续输出五行*,每一行星号的数量依次递增	
2.完成 5 行内容的简单输出	分析每行内部的*应该如何处理
输出
*
**
*** 
***** 
*******

如下:
第一种:

# 1.控制行
    for i in range(6):
        # 2.控制*的数量
        for j in range(6):
            if i > j :
                print("*",end='')
        print(" ")

在这里插入图片描述
第二种

i =1
while i <= 5:
    j = 1
    while j <= (5 - i):
        print(" ",end='')
        j += 1
    while (j >(5-i) and j <= 5):
        print("*",end='')
        j += 1
    print()
    i += 1   

在这里插入图片描述

如果想要星星倒过来呢

第三种:

# 1.控制行
for i in range(6):
    # 2.控制*的数量
    for j in range(6):
        if i < j :
            print("*",end='')
    print(" ")

在这里插入图片描述
第四种:

i = 1
while i <= 5:
    j = 1
    while j < i:
        print(" ",end='')
        j += 1
    while j >= i and j <= 5:
        print("*",end='')
        j += 1
    print()
    i += 1

在这里插入图片描述

6、猜数字游戏

猜数字游戏:
1.系统随机生成一个1~100的数字;
2.用户共有5次机会猜;
3.如果用户猜测数字大于系统给出的数字,打印”too big”
4.如果用户猜测数字小于系统给出的数字,打印”too small”
5.如果用户猜测的数字等于系统给出的数字,打印”恭喜中奖”,并退出循环

import random

num = random.randint(1,100)
print(num)

i = 1
while i <= 5:
    ans = int(input("请猜数:"))
    if ans > num:
        print("too big,还剩%d次机会"%(5-i))
    elif ans < num:
        print("too small,还剩%d次机会"%(5-i))
    else:
        print("恭喜中奖!!!")
        break
    i += 1

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170049.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • springboot quartz 动态添加任务(quartz分布式定时任务)

    看了好多文章,都只讲了基础的demo用法,也就是简单的创建运行定时任务,对定时任务的管理却很少。我这里从0开始搭建一个简单的demo,包括定时任务的各种操作,以及API的一些用法,可以实现大多场景的需求。如:普通定时任务的创建、启动、停止。 动态创建定时任务,如创建一个订单,5分钟后执行某某操作。一、整个Quartz的代码流程基本基本如下:首先需要创建我们的任务(Job),比如取消订单、定时发送短信邮件之类的,这是我们的任务主体,也是写业务逻辑的地方。 创建任务调度器(Schedul..

    2022年4月17日
    40
  • c语言字符串分割函数「建议收藏」

    c语言字符串分割函数「建议收藏」C语言字符串分割strsep函数用于分解字符串为一组字符串。定义语句为char*strsep(char**stringp,constchar*delim);使用实例:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;string.h&gt;intmain(){charstr[]="$GP…

    2022年5月2日
    40
  • Qt高并发

    Qt高并发QThread是一个低级(low-level)类,适合用于显式地构建长期运行的线程。     QtConcurrent是一个命名空间,提供了用于编写并发软件的更高层次的类和算法。该命名空间中有一个重要的类,QThreadPool,这是一个管理线程池的类。每个Qt应用程序都有一个QThreadPool::globalInstance()函数,它带有一个推荐的最大线程数,在大多数系统上,处理核的数…

    2022年5月28日
    113
  • mac哪个虚拟机最好用_mac装双系统还是虚拟机好

    mac哪个虚拟机最好用_mac装双系统还是虚拟机好刚买了苹果电脑的用户,经常会因为用不惯苹果系统而想换Windows系统,实际上也的确是,许多流行游戏或软件都暂不支持Mac系统,可行的办法是安装mac虚拟机或是双系统,以供支持在苹果电脑上使用Windows应用。下面本文就来讲讲mac虚拟机哪个好用,mac双系统和虚拟机哪个好。

    2022年9月1日
    0
  • php好用的中文转拼音的类库

    php好用的中文转拼音的类库中文转拼音的类库<?phpnamespacejplt;usethink\Db;usethink\Config;usethink\Session;usethink\Request;/**jplt\Pinyin*CreatedbyPhpStorm.*User:jifei*Date:15/6/25*Time:下午2:26*/classPinyin{//中文字符串privatestatic$string=’

    2022年6月21日
    30
  • linux删除历史操作命令「建议收藏」

    linux删除历史操作命令「建议收藏」 在linux系统里一旦操作了任何命令,都会被记录下来,可以通过history命令来查看历史命令,  查看手册可知history-c便是清除历史命令,但是重新进入系统查看历史命令时,历史信息依然会存在,  那么history-c只是清除当前shell的历史纪录,因为系统一般会把信息保存在一个文件中,只要文件中  内容没有改变,那么信息也不会变。linux中存放历史命令的文件是….

    2022年6月22日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号