精华内容
下载资源
问答
  • while循环嵌套需要把参数初始化

    while循环嵌套需要把变量初始化

    题目:使用while循环打印一个7行7列的矩形,图片如下:

    在这里插入图片描述

    如下图,是没有初始化变量的结果

    i = 1
    j = 1
    while i <= 7:
        while j <= 7:
            print("*", end=" ")
            j += 1
        print( )
        print("我是外循环----->>%d"%i)
        i += 1
    

    在这里插入图片描述
    在这里我们发现只是打印了一行,而并没有打印出矩形。

    探究其原因,如下所示:

    i = 1
    j = 1
    while i <= 7:
        while j <= 7:
            print("我是内循环————>>%d"%j)
            j += 1
        print("我是外循环----->>%d"%i)
        i += 1
    

    在这里插入图片描述
    通过上图我们发现内循环打印了7次,外循环也打印了7次。
    出现这种原因是因为:没有为变量做初始化的操作(就是回归原来的值—>> i = 1的状态)。
    追其根本是因为: i += 1 等价于 i = i + 1
    j +=1 等价于 j = j + 1
    所以每次让内循环回归初始值,那么问题就解决了

    正确的结果如下所示

    i = 1
    j = 1
    while i <= 7:
        j = 1
        while j <= 7:
            print("*", end=" ")
            j += 1
        print( )
        i += 1
    

    在这里插入图片描述
    所也在这里告诫大家千万不要忘了把变量初始化,同时也是告诫我自己。

    展开全文
  • 一.主要内容:1.while 循环 (难点)while 条件: 循环体 break: 直接跳出循环continue:停止当前本次...2.格式输出 %s %d f{变量名}#格式输出例:print("我叫%s,我来自%s,我的年龄是%s,爱好是%s" % (name, address, ...

    一.主要内容:
    1.while 循环 (难点)
    while 条件:
    循环体

    break: 直接跳出循环
    continue:停止当前本次循环,继续执行下一次循环.不会中断循环
    能让循环退出:
    (1)break (2)改变循环条件


    2.格式化输出 %s %d f{变量名}
    #格式化输出
    例:print("我叫%s,我来自%s,我的年龄是%s,爱好是%s" % (name, address, age, like))
    #新版本的格式化输出
    例:print(f"我叫{name},我来自{address},我的年龄是{age},爱好是{like}")

    %s:表示字符串的占位,全能的占位.

    %d:占位数字,只能放数字.

    %:如果使用了格式化输入,%就是占位符,显示正常的%,需要%%

    3.运算符 not and or(难点)

    not: 非真既假,非假既真
    and: 左右两端都为真,结果才是真
    or : 左右两端有一个为真,结果就是真

    优先级:() > not > and > or,当出现相同的运算时,从左往后算.

    当出现x or y的时候(x,y分别是数字):判断x是否是0,如果x==0,返回y,否则返回x
    例:print(1 or 2) #1
    print(0 or 2) #2

    当出现x and y的时候(x,y分别是数字):和or相反
    例:print(1 and 2) # 2
    print(0 and 2) # 0
    #False 当成0 True当成1


    4.初始编码 bgk unicode utf-8
    (1)ASCII 8bit 256个码位, 只用到了7bit,用到了128个码位,最前面一位0
    8bit = 1type(字节)
    (2)GBK放的是中文编码, 16bit 2byte GBK 兼容ASCII
    GBK=>对ASCII进行扩展 ANSI 16bit -> 清华同方 -> GBK
    (3)对所有编码进行统一:unicode 万国码. 32bit 4byte 比较浪费
    abcd 用ASCII存储 需要4byte
    abcd 用unicode存储,需要16byte
    (4)utf-8:可变长度的unicode 8->8bit
    英文:1byte 欧洲文字:2byte 中文:3byte


    5.成员运算:in

    # content = input("请输入你的评论:")
    # if "马化腾" in content: # content中是否包含了xxx
    # print("你的评论不合法")
    # else:
    # print("你的评论是合法的")

    # ad = input("请输入你的广告:")
    # if "最" in ad or "第一" in ad or "全球" in ad:
    # print("不合法的")
    #
    # else:
    # print("合法的")

    转载于:https://www.cnblogs.com/q455674496/p/10028624.html

    展开全文
  • 变量初始化位置放错

    2020-07-02 20:43:20
    每个函数独立功能已经实现,因为这个初始化语句,放在了while循环内部(相当于每次都把上一个循环存储的数据清空了),导致第一次键入信息时可以查到信息,第二次就无法查到信息。 折腾了半小时,长记性了。 ...

    每个函数独立功能已经实现,因为这个初始化语句,放在了while循环内部(相当于每次都把上一个循环存储的数据清空了),导致第一次键入信息时可以查到信息,第二次就无法查到信息。

    折腾了半小时,长记性了。

    展开全文
  • 之前写一个获取股票特征的代码,需要用到嵌套循环,分别获取特征的名字和向前回溯的天数,代码如下: i = 0 day = 3 d = {} f = '' fls = df2.columns.values.tolist()#获取原始dataframe的列名。 for f in fls: ...

    之前写一个获取股票特征的代码,需要用到嵌套循环,分别获取特征的名字和向前回溯的天数,代码如下:

    i = 0
    day = 3
    d = {}
    f = ''
    fls = df2.columns.values.tolist()#获取原始dataframe的列名。
    for f in fls:
    	while i < day:#day是向前回溯的天数。
            d['last_{}_{}'.format(f,i+1)] = df2[f].iloc[len(df2)-(len(df2)-i):len(df2)-(day-i)]#将列名和天数加以组合,作为字典的键。
            i += 1
    feature = pd.DataFrame(d)
    print (feature)
    

    fls列表一共有[‘open’, ‘close’, ‘high’, ‘low’, ‘volume’]五个字符串,想象中运行后会出现5*3个列的dataframe,分别为:
    ‘last_open_1’,
    ‘last_open_2’,
    ‘last_open_3’,
    ‘last_close_1’,
    ‘last_close_2’,
    ‘last_close_3’,
    ‘last_high_1’,
    ‘last_high_2’,
    ‘last_high_3’,
    ‘last_low_1’,
    ‘last_low_2’,
    ‘last_low_3’,
    ‘last_volume_1’,
    ‘last_volume_2’,
    ‘last_volume_3’

    然而运行结果如下:

     last_open_1  last_open_2  last_open_3
    0          15.68          NaN          NaN
    1          15.79        15.79          NaN
    2          15.55        15.55        15.55
    3          16.09        16.09        16.09
    4          16.27        16.27        16.27
    5          16.23        16.23        16.23
    ..           ...          ...          ...
    494        11.72        11.72        11.72
    495        11.10        11.10        11.10
    496        11.94        11.94        11.94
    497          NaN        11.69        11.69
    498          NaN          NaN        11.75
    
    [499 rows x 3 columns]
    

    只出现了 last_open_1 last_open_2 last_open_3 三个列
    感觉问题应该是出在第一层for循环上
    盯着for看了半天 仍然没有发现问题
    突然灵光一现,发现问题出在变量i的初始化上
    在程序的最开始初始化变量i=0
    而经过内层while循环后,i的值已经变为day-1
    在外层for循环正常运行时,内层while循环的执行判断条件在循环一次后将永远都无法满足
    解决办法很简单,把i=0放在for循环下即可,如下:

    
    day = 3
    d = {}
    f = ''
    fls = df2.columns.values.tolist()#获取原始dataframe的列名。
    for f in fls:
    	i = 0#在这里将i清零,使得while循环能够正常运行。
    	while i < day:#day是向前回溯的天数。
            d['last_{}_{}'.format(f,i+1)] = df2[f].iloc[len(df2)-(len(df2)-i):len(df2)-(day-i)]#将列名和天数加以组合,作为字典的键。
            i += 1
    feature = pd.DataFrame(d)
    

    最后的dataframe太大 显示不全 打印一下列名展示成果!

    print(feature.columns.values.tolist())
    

    运行结果:

    ['last_open_1', 'last_open_2', 'last_open_3', 'last_close_1', 'last_close_2', 'last_close_3', 'last_high_1', 'last_high_2', 'last_high_3', 'last_low_1', 'last_low_2', 'last_low_3', 'last_volume_1', 'last_volume_2', 'last_volume_3']
    
    展开全文
  • int a; main() { ...while(1) ...我们所理解的静态变量b,只知道它在上面的函数内部只初始化一次,其实是个假像 ,我要表达的是,事实上b初始化的值,不是在循环体完成的.继续下看. while(1) {  st
  • IAR 局部变量初始化的问题

    千次阅读 2018-03-03 21:46:00
    今天调试UCOSiii的程序,遇到一个问题,程序停止在等待PLL工作的while循环中。硬件环境: stm32f439igt单板软件环境: UCOSIII,代码从USOS官网直接下单,没有做任何改动编译环境: IAR最近有个项目用到了STM32F439...
  • P53 052——while循环 循环结构分两大类,一类是当型,一类是直到型。 当型:(主要类型。直到用的比较少的) 当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for...
  • while循环

    2015-11-26 19:59:50
    while循环  while循环和for循环可以互相转换,for循环相当于while循环的简写。 1 while 循环格式 while 条件 { ...while循环中,必须有一个趋向于...for 初始化循环变量;条件;增量;{ 循环语句 } 转化为whil
  • 变量初始化 while(循环条件){ 循环体 } 编写一个while循环的过程: 1、定义一个变量 2、使用变量进行判断,只要满足条件,就执行某些代码 3、改变变量以改变条件的结果,达到退出循环的目的 while语句的...
  • Java while循环与dowhile循环

    千次阅读 2019-04-25 23:53:45
    Java while循环与dowhile循环1.while循环2.do......变量初始化 2.循环条件的判断 3.计数器的累加(朝着跳出循环移动) 例子 class Demo7{ /**打印1到100的数字*/ public static void main(String[] args){ int ...
  • 循环结构_while循环

    2020-03-17 22:37:34
    循环语句2--while while循环语句格式: ...①负责完成循环变量初始化。 ②负责判断是否满足循环条件,不满足则跳出循环。 ③具体执行的语句。 ④循环后,循环变量的变化情况。 /* while循环有一个标准...
  • 一、循环语句 1、 在给定条件成立时,反复执行某程序段。==> 死循环 2、 直到不满足条件为止 ... 变量初始化; while(条件){ 满足条件执行的代码; 变量更新; } 1 案例:var num = 100;(1-100奇数) ...
  • while循环: 创建循环的三个步骤: 初始化一个变量 在循环中设置一个条件表达式 定义一个更新表达式,每次更新初始化变量 缺少一个就极有可能造成死循环 dowhile循环: for循环:
  • while和do-while循环初始化变量本来就在外面,所以外面也照样可以使用。(个人理解,定义在循环体里 的局部变量,在栈内运行完释放,并不保存)2. 执行次数不一定完全等效。for循环和while循环是【先判断后执行】...
  • 一、循环语句 1、 在给定条件成立时,反复执行某程序段。... 变量初始化; while(条件){ 满足条件执行的代码; 变量更新; } 案例:var num = 100;(1-100奇数) while(num &gt;= 1){ if(...
  • 08.循环 1.循环! 循环的作用: 简化代码,处理重复执行的代码 ...2.while循环 ...循环变量 ...循环变量初始化 循环的增值 循环的终止条件 循环体 eg:在页面中打印10...
  • 循环结构_do-while循环

    2020-03-17 22:46:49
    循环语句3--do...while do...while循环格式 初始化表达式① ...①负责完成循环变量初始化。 ②负责判断是否满足循环条件,不满足则跳出循环。 ③具体执行的语句 ④循环后,循环变量的变化情况 ...

空空如也

空空如也

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

while循环变量初始化