精华内容
下载资源
问答
  • python编写一个while循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表。 思路: 湖北省的市:字典中的定义3个字典,用于存储{序列-键:市名} shiqu_dir = {} {序列-键:县} xian_dir ={} {...

    python编写一个三级while的循环菜单

    1.定义字典,字典里面嵌套字典,内嵌字典的值为列表。

    思路:

    湖北省的市:字典中的
    定义3个字典,用于存储

    {序列-键:市名}
    shiqu_dir = {}
    {序列-键:县}
    xian_dir ={}
    {序列-键:街道}
    jiedao_dir = {}
    函数将序列和键一一对应。
    for number,key in enumerate(Hbei_map.keys())  获取序列键和市名存储到 市名字典

    用一个列表 chose = [] 来存储所选择的市--县程-街道
    chose[0],chose[1],chose[2]最后使用切片返回

    中间输入全部使用的判断方式for循环: for k,v in xxx.items():
                         if input == k:
    让用户只能输入序列中的数字。使用判断语句:
      if int(input) not in 字典.keys():
      print("您输入了非法的序列,请输入一下序列 {}".format(shiqu_list))

    # -*- coding: utf-8 -*-
    __author__ = 'hujianli'
    import sys
    Hbei_map = {
        "武汉市":{
            "江岸区":["上海街","大智街","一元街","车站街","四唯街","永清街","球场街","西马街","台北街","劳动街","花桥街","后湖街","谌家矶街"],
             "硚口区":["易家墩街道","韩家墩街道","宗关街道","汉水桥街道","宝丰街道","荣华街道","崇仁街道","汉中街道"],
             "武昌区":["积玉桥街道","杨园街道","徐家棚街道","新河街道"]
        },
    
        "荆州市":{
            "沙市区":["黄石港","崇文街道","解放路街道"],
            "荆州区":["城南街道","西城街道","东城街道","马山镇","川店镇"],
            "松滋市":["新江口镇","南海镇","八宝镇","陈店镇"],
            "公安县":["斗湖堤镇","埠河镇","杨家厂镇","斑竹垱镇"],
            "监利县":["容城镇","白螺镇","朱河镇"]
    
        },
        "孝感市":{
            "孝南区":["肖港镇","书院街道","车站街道","新华街道"],
            "应城市":["城中街道","城北街道","杨河镇","三合镇"],
            "安陆市":["李店镇","巡店镇","雷公镇","陈店乡"],
    
        },
    }
    # print(Hbei_map["孝感市"]["应城市"])
    shiqu_dir = {}
    xian_dir ={}
    jiedao_dir = {}
    
    def jiance(name):
        if len(name) == 0:
            sys.exit("\033[31;1m选择不能为空,清重新输入~~\033[0m")
        elif shiqu == "quit" or shiqu == "exit":
            sys.exit("\033[31;1m 退出程序,三级菜单退出~~ \033[0m")
        else:
            return True
    
    print("==============================================================================================================")
    print("湖北省下面的市区如下: ")
    for number,key in enumerate(Hbei_map.keys()):
        print(str(number+1) + ": " + str(key))
        shiqu_dir[number+1] = key
    
    chose = []
    shiqu_list = [x+1 for x in range(len(shiqu_dir.keys()))]
    
    while True:
        print("==========================================================================================================")
        shiqu = input("请输入您要查询的市区所对应的序列号,输入exit或者quit自动会退出.:")
        jiance(shiqu)
        if int(shiqu) not in shiqu_dir.keys():
            print("您输入了非法的序列,请输入一下序列 {}".format(shiqu_list))
        else:
            for keys,vlaue in shiqu_dir.items():
                if int(shiqu) == keys:
                    chose = []
                    chose.append(vlaue)
                    print("================================================================================================")
                    print("该市区下面的县级市或者片区域,县城列表如下:")
    
                    for number,keys_xian in enumerate(Hbei_map[vlaue].keys()):
                        print(str(number+1)+ ":" + str(keys_xian))
                        xian_dir[number+1] = keys_xian
    
                    while True:
                        print("=============================================================================================")
                        xian = input("请输入要查询的县城所对应的序列号,quit/exit退出: ")
                        jiance(xian)
                        xian_list = [x+1 for x in range(len(xian_dir.keys()))]
                        if int(xian) not in xian_dir.keys():
                             print("您输入了非法的序列,请输入一下序列 {}".format(xian_list))
                        else:
                            for k,v in xian_dir.items():
                                if int(xian) == k:
                                    chose.append(v)
    
                            jiedao_li = Hbei_map[chose[0]][chose[1]]
                            for k,v in enumerate(jiedao_li):
                                print(str(k+1) + ": " + str(v))
                                jiedao_dir[k+1] = v
    
                            while True:
                                print("=====================================================================================")
                                jiedao = input("请输入街道所对应的序列号 退出请输入quit/exit: ")
                                jiance(jiedao)
                                jiedao_list = [x+1 for x in range(len(jiedao_dir.keys()))]
                                if int(jiedao) not in jiedao_dir.keys():
                                    print("您输入了非法的序列,请输入一下序列 {}".format(jiedao_list))
                                else:
                                    for k,v in jiedao_dir.items():
                                        if int(jiedao) == k:
                                            chose.append(v)
                                            print("=================================================================================")
                                            print("\033[35;1m你选择的市:%s 县城是:%s 街道是:%s\033[0m"%(chose[0],chose[1],chose[2]))
                                            print("===================================================================================")
                                break
                            break
            break
    View Code

     




    转载于:https://www.cnblogs.com/hujianli/p/7113149.html

    展开全文
  • **《战国策·燕策二》:“此必令其言如循环,用兵如刺蜚绣。...以下分享学习C语言种常见循环:while循环、do…while循环、for循环的心得。 while(表达式) 语句 “语句”就是循环体。循环体可以是一个语句...

    **《战国策·燕策二》:“此必令其言如循环,用兵如刺蜚绣。”往复回旋。指事物周而复始地运动或变化。意思是转了一圈又一圈,一次又一次地循回。**循环 ,是C语言编程里非常重要的结构。使用循环,可以帮我们快速解决类似的、需要重复实现、处理的问题。以下分享学习C语言三种常见循环:while循环、do…while循环、for循环的心得。

    while(表达式) 语句

    “语句”就是循环体。循环体可以是一个语句,也可以是若干个由花括号括起来的语句。执行循环体次数由循环条件控制,”while(表达式)“中的”(表达式)“,即循环条件表达式。当表达式的值为真,就执行循环语句;反之不执行。
    特点:先判断条件表达式是否为真,后执行循环语句。
    形式如下:

    int a=0;
    while(a<10)
    {
    printf("满足循环条件");
    a++;
    }
    

    代码的作用为:当满足a小于10的条件时,执行花括号里printf语句,并且使a的值加一。

    do…while 语句

    特点:先无条件执行循环体,然后判断条件是否成立。
    形式如下:

    int a;
    do
        {	
    	printf("%d",a++)
         }
    while(a<10);
    

    代码的作用是:先无条件执行花括号里的printf语句,然后再检查a是否满足小于10的条件,如果满足条件,则再次执行循环语句,直到不满足循环条件为止。

    for(表达式1;表达式2;表达式3) 语句

    for循环语句相较于前两种循环更为灵活,并且可以用于循环次数不确定而只给出循环条件的情况,可以完全替代while循环。
    形式如下:

        for(i=0;i<=10;i++)
        printf("%d",i);
    
    

    代码作用是:循环输出1到10共十个整数。

    for后面括号中的三个表达式的主要作用:

    表达式1:设置初始条件。
    表达式2:循环条件表达式,用来判断是否继续循环。
    表达式3:使循环变量增值。
    即 for(循环变量初值;循环条件;循环变量增值)

    for(表达式1;表达式2;表达式3)语句 也可以改写成while语句:

    表达式1;
    while(表达式2)
    {语句;
    表达式3;
    }
    以上二者是等价的。

    展开全文
  • 条语句,直到遇到终止条件为止循环语句也称迭代语句,在Java语言中存在的while、for和do-while循环语句。 while循环 while是Java中最基本的循环语句,满足条件才执行循环体,如果不满足条件则不执行。所以有可能循环...

    今天学习了循环语句的用法,知道了三种循环语句的应用场合和使用特点

    循环结构

    循环就是重复做某一件事情。在Java程序中,循环控制即在某一情况下,控制程序重复执行某一条或多。
    条语句,直到遇到终止条件为止循环语句也称迭代语句,在Java语言中存在的while、for和do-while循环语句。

    while循环

    while是Java中最基本的循环语句,满足条件才执行循环体,如果不满足条件则不执行。所以有可能循环体一次都不执行。
    语法格式: while (继续循环的条件) { 循环所执行的代码; }

    public class Test3 {
     public static void main(String[] args) {
     int res = 0;// 累加器
     int k = 1;// 用于控制循环次数
     while (k <= 100) {
     res += k++;//这里等价于res=res+k;k++;
     }
     System.out.println("1+2+3+...+100=" + res);
     }
    }
    

    用while循环接收用户输入小明的成绩,如果用户输入不合法就反复输入,直到正确为止

    public class Test3 {
     public static void main(String[] args) {
     Scanner sc = new Scanner(System.in);
     int score = -1;
     while (score < 0 || score > 100) {
     System.out.println("请输入小明成绩:");
     String ss = sc.nextLine();
    try {
     score = Integer.parseInt(ss);
     if (score < 0 || score > 100) {
     System.out.println("要求成绩值应该0-100之间");
     }
     } catch (Exception e) {
     System.out.println("请输入合法的整数成绩值");
     }
     }
     System.out.println("小明的成绩为:" + score);
     }
    }
    

    do-while循环

    for 循环主要用于按预定的次数执行语句或语句块
    语法: for(语句1,一般用于初始化循环控制变量; 语句2,是循环继续执行的条件; 语句3,是每次循
    环执行结束后必须执行的语句){ 循环体语句; }

    样例:计算1+2+3+…+100=?

    public class Test6 {
     public static void main(String[] args) {
     int res = 0;
     for (int k = 1; k <= 100; k++)
     res += k;
    // System.out.println(k); 報錯:变量k是在表达式1上声明的,只能在for循环内部有
    效
     System.out.println("1+2+3+...+100=" + res);
     }
      }
    

    三种循环的选择

    1、如果不能提前预知循环次数,则使用while或者do/while循环,而for循环一般用在可提前预知循环次数的场景下
    2、while循环可以出现一次都不执行的情况,但是do/while循环无论如何循环体都会被执行一次
    需求:输出九九乘法表

    public class Test7 {
     public static void main(String[] args) {
     for(int i=1;i<=9;i++) {//控制行数
     for(int k=1;k<=i;k++) {//控制每行的列数
     System.out.print(k+"*"+i+"="+(i*k)+"\t");
     }
     System.out.println();
     }
     }
    }
    

    循环中使用的跳转语句

    Java提供了三种跳转语句:break、continue以及return,用来强制转移程序执行的顺序
    break
    break语句除了与switch结合使用外,还用来强制中断当前的循环,不再执行循环体中break后面的语句
    而退出循环。譬如在后续将学到从数据库里循环取出数据,用来验证用户的用户名是否正确。如果当用
    户名符合某一条数据时,就需要用到break语句来结束当前的循环验证
    continue
    continue语句的功能是,在循环语句中,当碰到continue时,将不再执行循环体continue之后的语句,
    而重新判断循环控制的条件,继续循环,直到循环条件的值为假时退出循环
    例题: 100 ~ 50000之间有多少整数,其各位数字之和为5,分别是哪些数(例如整数1324的各位数字之和为 1+3+2+4 等于10(不为5)),并统计满足条件的整数有多少个

    package problem;
    
    public class testC {
    public static void main(String[] args) {
    	int a,b,c,d,e;
    	int k = 0;
    	for (int i = 100;i<=50000;i++){
    		a = i/10000;
    		b = (i-a*10000)/1000;
    		c = (i-a*10000-b*1000)/100;
    		d = (i-a*10000-b*1000-c*100)/10;
    		e = (i-a*10000-b*1000-c*100-d*10);
    		if (a+b+c+d+e == 5){
    		System.out.println(i);
    		k++;
    		}
    	}
    	System.out.println("一共有"+k+"个数字符合条件");
    }
    }
    
    展开全文
  • 循环:就是重复发生的过程(循环一般有重复的前提条件) 循环问题的共同点: 都有一个初始化状态 都有一个循环的判断条件 都有反复要做的事 都需要为下一的循环做准备 ... while循环 语法:while(表达式)...

    循环:就是重复发生的过程(循环一般有重复的前提条件)

    循环问题的共同点:

    1. 都有一个初始化状态
    2. 都有一个循环的判断条件
    3. 都有反复要做的事
    4. 都需要为下一次的循环做准备

    写循环前回答四个问题

    (1)初始状态由哪些变量描述,其初值是什么?

    (2)循环的控制条件是什么?(题目中给出的条件往往是反的)

    (3)反复做什么

    (4)怎么过渡到下一次

     while循环

    语法:while(表达式){

    循环体

    }

    表达式结果如果为true,那么就执行循环体,如果是false就结束循环

    /**
     * 打印1到100之间的数
     * 循环条件:1~100
     */
    int i = 1;
    //i<=100,只有循环条件是true的情况下执行循环体,循环条件一定是true或false
    while (i <=100){
        System.out.println(i);
        //计数器进行累加
        i++;
    }

     do…while循环

    语法:

    do{

    循环体

    }while(循环条件 )

    /**
     * 打印1到100之间的数
     * 循环条件:1~100
     */
    int i = 1;
    do{
    System.out.println(i);
     //计数器进行累加
       i++;
    
    }while(i <= 100);
       

    注意:do....while和while,前者是先执行循环体,后者是先判断再执行循环体

     for循环

    for循环括号中的内容可以理解为一个范围,

    比如for(int i=1;i<=100;i++)就可以理解为【1,100】

    语法:

    for(表达式1;表达式2;表达式3){

    循环体

    }

    表达式1:计数器的初始化,它只能初始化一次

    表达式2:循环条件的判断,循环多少次就执行多少次

    表达式3:计数器的累加,循环多少次就累加多少次,每次循环执行完毕再累加

    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1;i <= 100;i++) {
            if (i%2 == 0){
                sum += i;
            }
        }
        System.out.println("1~100的偶数和是:" + sum);
    }

    循环的嵌套

    //打印5行5列的⭐
    public static void main(String[] args) {
       for (int j = 0;j<5;j++){
           for (int i = 0;i <5;i++){
               System.out.print("⭐");
           }
           System.out.println();
       }
    }

     

    展开全文
  • 种循环结构:while循环、do…while循环、for循环 3.什么是while循环? **只要条件成立就不停的执行 特点:先判断,再执行 ** package season5; public class TestWhile { public static void main(String[] ...
  • while循环嵌套

    2021-02-14 23:59:24
    # while循环嵌套: 在一个while循环语句里面再次使用while循环语句,该格式称为...# 需求:循环3次,每循环一次,打印三次 走上人生巅峰! # 记录循环次数 num = 1 while num <= 3: print("当前循环的是第%d次.
  • C语言while循环和do while循环详解

    千次阅读 多人点赞 2020-02-22 11:31:23
    在C语言中,共有大常用的程序结构: 顺序结构:代码从前往后执行,没有任何“拐弯抹角”; 选择结构:也叫分支结构,重点要掌握 if else、switch 以及条件运算符;...while循环的一般形式为: while(表达式)...
  • 不知道循环多少 就用while 或者do -while循环,这是时候一定要先看看先判断还是先执行。 如果先执行 用do -while,如果先判断则用while。 for 循环语法如下: for (表达式1;表达式2;表达式3) { 循环体 } ...
  • while 循环

    2019-10-02 22:24:36
     break (记得在while循环结束后要加上break停止,要不然这个循环会一直进行) 例题1 实现一个三次登录,加上一个可以退出的功能 count = 1 while count <=3:  content = input('请输入内容'...
  • 种循环语句都可以处理同一问题,一般情况下可以相互替代 for循环,功能最强大,最灵活,感觉最...而do-while循环是先执行循环体,再去判断表达式,因此,它最少执行一 在循环次数一致的情况下,建议使用for循...
  • 但是do-while循环会至少执行一 2.for循环的变量在小括号当中定义,只有循环内部才可以使用,while循环和do-while循环初始化语句 本来就在外面,所以出来循环后还可以继续使用 */ public class Demo12HundredSum{ ...
  • 给用户三次输入用户名和密码的机会,要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬...
  • for循环不管是什么语言一般都用的比较广泛。 1、for (int 初始化; 布尔表达式;...(2)continue(跳过,结束本次循环进入下一次循环) 输出:除了没有输出3的倍数,其他的输出不小于100的数 (3)return(关闭
  • whiler循环就是循环结构的一种,当事先不知道循环该执行多少,就要用到while循环;while循环语句的运行过程使用while循环语句时,可以根据特定的条件反复执行一个命令,直到条件不满足为止;while会出现死循环的过程...
  • while循环的语法: while(循环条件){ 循环操作 //循环中被重复执行的操作 } ... 从控制台输出“我能行!” int i=1; while(i){ System.out.println("我能行!"); ...
  • while循环

    2017-05-08 22:41:00
    count = 0 while True: #True表示真的意思,即条件成立 print(count) count = count + 1 if count == 1000: break #break是结束循环 ...实现功能:猜年龄,如果猜对就不猜了,猜错只能猜三次 ...
  • 文章目录一、for循环二、“斐波那契”数列三、爱因斯坦阶梯 for循环也被成为计数循环,这种循环与while循环的语法...123=1的三次方+2的三次方+3的三次方,由于式子不成立,所以123不是“水仙花数”。 153=1的三次方.
  • 1.如果条件判断从来没有满足过,for循环和while循环将会执行0,但是do-while循环会执行至少一 2.for循环的变量在小括号当中定义,只有循环内部才可以使用。 while循环和do-while循环初始化语句本来就在外面,...
  • 简单的while循环: 1 age_konishi = 23 2 3 count = 0 #定义一个计数器 4 while count < 3: #循环小于三次执行下列代码 5 guess_age = int(input("Age: ")) 6 if guess_age == age_konishi: ...
  • JavaScript - while循环

    2021-03-23 11:45:56
    文章目录一、循环语句二、while循环三、常用的创建循环的方法do..while循环 一、循环语句 通过循环语句可以反复的执行一段代码多 二、while循环 语法 while (条件表达式){ 语句 } 执行流程 while语句执行...
  • 循环语句允许我们执行一个语句或语句组多,下面是在大多数编程语言中的循环语句的一般形式: 1,Python While 循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要...
  • 现在我们先来讲while循环。 while 的中文意思为当...的时候。顾名思义,当条件满足的时候做什么事情。 来看看 while 语句的格式: while 条件: 当条件成立的时候,执行这里的语句 # 注意...
  • 循环语句 循环的基本组成部分可分为四部分 1.初始化语句(如计数器变量),在循环开始最初执行,而且只做唯一一。...while循环 标准格式: while(条件判断){ 循环体; 步进语句(根据需求,自行判断
  • while循环语句(无限循环) 一、语法介绍 while的底层逻辑也是循环,它和for的特点不一样,最大的区别是for知道循环次数,而while循环不清楚循环次数; 使用while保留字,由条件控制循环过程,反复执行语句快,...
  • Shell里的循环语句一、for 循环1.for 循环语句2....举例2.1 用户输入密码,脚本判断密码是否正确,输入正确提示正确信息,连续输错3则报警2.2编写能够自动生成一个8位随机密码的脚本、until 循环1. unti
  • 2、初始值不满足循环条件时:while循环都不执行、do-while循环会执行一 3、while先判断,后执行 4、do-while先执行,后判断 while循环 for循环 for(表达式1;表达式2;表达式3) { 循环体 } 总结 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,167
精华内容 866
关键字:

while循环三次