• li
    2018-06-11
    根据while嵌套这节 和老师输入的一样啊 输入3月15怎么返回的是水平座和双鱼座?输入12月25 怎么什么都没返回?
    zodiac_name=(u'摩羯座',u'水瓶座',u'双鱼座',u'白羊座',u'金牛座',u'双子座',
    u'巨蟹座',u'狮子座',u'处女座',u'天秤座',u'天蝎座',u'射手座')
    zodiac_days=((1,20),(2,19),(3,21),(4,21),(5,21),(6,22),(7,23),(8,23),(9,23),(10,23),(11,23),(12,23))
    int_month=int(input('请用户输入月份'))
    int_day=int(input('请用户输入日期'))
    n = 0
    while zodiac_days[n] < (int_month,int_day):
        if int_month == 12 and int_day > 23:
            break
        n +=1
        print(zodiac_name[n])
    展开

    作者回复: 认真检查一下最后一行的代码缩进,print()语句在不同的缩进位置,输出结果可是有很大差别的啊,要细心

    
     10
  • 定格一瞬间
    2018-06-12
    import datetime
        today=datetime.datetime.today()
    AttributeError: module 'datetime' has no attribute 'today'
    老师这个错误啥问题呢

    作者回复: 你书写这段代码的文件名,它的文件名可能叫做datetime,导致导入时失败

    
     2
  • 飞鸟
    2018-06-12
    这个例子中,用while循环时,不论判断条件是:
    while zodiac_days[n]>还是<(int_month,int_day)
    结果都一样,这是不是while语句的优势?

    作者回复: 不一样噢,while语句后面的结果成立,即返回值为True时循环会执行的,返回为False时,while语句内的语句块不会执行,需要分析下代码内容和下面的缩进

    
     2
  • 夏圣龙Je suis ét...
    2019-12-26
    尹老师,while循环中if的嵌套和for循环if的嵌套都能实现同样的功能,得到同样的结果,在课程讲解中,while循环语言简洁一些,是不是以后处理类似的问题时,只选择while就行了?谢谢

    作者回复: 你好,要根据处理的对象来选择while 和for循环,例如我要遍历一个列表 用 for 结构就更简单,也更优雅;while循环更多用于数字的比较,比如 while count < 10 这种

    
     1
  • 胡俊杰
    2019-01-08
    在Mac系统用Chrome播放器在英国网络条件下播放视频总是会出现卡顿的情况。卡着了之后就一直不动。
    我用的网络应该是很快的 下载东西也是几m跑的 不知道什么原因播放极客视频就会经常卡 一个视频卡很多次。

    作者回复: 好的,我帮您反馈给技术

    
     1
  • joeyqiu
    2019-01-07
    嵌套的列表推导式

    列表解析中的第一个表达式可以是任何表达式,包括列表解析。

    考虑下面由三个长度为 4 的列表组成的 3x4 矩阵:

    >>> matrix = [

    ... [1, 2, 3, 4],

    ... [5, 6, 7, 8],

    ... [9, 10, 11, 12],

    ... ]

    现在,如果你想交换行和列,可以用嵌套的列表推导式:

    >>> [[row[i] for row in matrix] for i in range(4)]

    [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

    尹老师:
          这个是中文版说明文件里的样例,我不是很理解,能否帮忙解释下:对两个循环且嵌套不理解,能否从数学角度拆分下,谢谢。
    展开

    作者回复: 分开执行下面的每一条语句,再回来理解一下


    print(matrix[0][0])

    print(matrix[1])

    print(matrix[1][0])

    print(matrix[2][0])



    print([row[0] for row in matrix])



    for i in range(4):

        print([row[i] for row in matrix])

    
     1
  • 1.1
    2019-10-06
    # 练习1:
    # 如果你对老师练习一第二题答案,if 1 <= num_to_int <= 10:这条语句有疑问的话可以参考下方链接文档上有做详细介绍,其实这条语句等同于if 1 <= num_to_int and num_to_int <= 10:
    # https://docs.python.org/zh-cn/3/reference/expressions.html#comparisons
    # 其实做完题对比答案真的才发现实现思路会有不同,很有乐趣。
    number = int(input("请输入1-40之间的数字:"))
    if number == 1 or number <= 10:
        print('嗯,你输入的结果在1到10之间哦。')
    elif number == 11 or number <= 20:
        print('嗯,你输入的结果在11到20之间哦。')
    elif number == 21 or number <= 30:
        print('嗯,你输入的结果在21到30之间哦。')
    elif number == 31 or number <= 40:
        print('嗯,你输入的结果在31到40之间哦。')
    else:
        print('嗯,数字不在1-40范围内。')

    # 练习2:
    for i in range(1, 100):
        if i % 2 == 0:
            print(i)

    n = 1
    while n <= 100:
        if n % 3 == 0:
            print(n)
        n += 1
    展开
    
    
  • Lynn
    2019-09-29
    练习二 循环语句的使用:“使用while语句输出1-100之间能够被3整除的数字”
    您给出的代码是:
    j = 1
    while j <= 100:
        if j % 3 == 0:
            print(j)
        j += 1

    我自己的代码是:

    num=1
    while num<100:
          num +=1
          if (num % 3) ==0:
            print(num)

    最后输出的结果相同,这说明 "+=1"这个操作的位置比较灵活,是吗? 可以在if前面,也可以在if后面
    展开

    作者回复: 先自增还是先判断根据程序的需求来定,没有必须放在前面或者后面的要求

    
    
  • 初音未来
    2019-07-05
    怎么判断一个循环用for、还是用while简单

    作者回复: 列表便利方式for 更多, 对执行次数控制更多的情况while用的更多一些

    
    
  • 悦月
    2019-06-29
    索引的zodiac_name[4]怎么会是双鱼座?
    
    
  • 悦月
    2019-06-29
    伊老师您好:对于n=0,n=n+1.当输入3.15时,确实是双鱼座,也确实比3.21要小,但n+1后就变4了,这时候zodiac_name[n] 的值怎么算?是4吧?怎么会是双鱼座?这里的n是月份吗?还是个啥?

    作者回复: 您好, n 这里表示第几个元素, 这里借用zodiac_name[n] 下标的形式来遍历 zodiac_name 这个数组的

    
    
  • 孙祥烈L
    2019-05-12
    1,while zodiac_days[n] < (int_month,int_day):
        n += 1
        print(zodiac_name[n])


    2,while zodiac_days[n] < (int_month,int_day):
        n += 1
    print(zodiac_name[n])
    老师,前面有空格和没有空格的结果是不一样的,怎么判断什么时候加空格呢
    展开

    作者回复: print()函数如果前面有空格,每次只需while循环时它都会被执行。
    如果没有空格,print( )会在while循环执行之后再运行

    根据编写的需求来确定什么时候缩进

    
    
  • 阁楼上的路人甲
    2019-03-27
    老师,在练习一条件语句使用中的第二题,是否能通过while循环语句实现:当输入的整数超过40时,让用户重新输入并再次判断的循环?
    
    
  • 脚下的路
    2019-03-18
    zodiac_name = (u'摩羯座',u'水瓶座',u'双鱼座',u'白羊座',u'金牛座',u'双子座',u'巨蟹座',u'狮子座',u'处女座',u'天秤座',u'天蝎座',u'射手座')
    zodiac_days = ((1, 20),(2, 19),(3, 21),(4, 21),(5, 21),(6, 22),(7, 23),(8, 23),(9, 23),(10, 23),(11, 23),(12, 23))

    while True:
      int_month = int(input('请输入月份(数字1-12):'))
      int_days = int(input('请输入日期(数字1-31):'))
    #加上月份和日期的数值限定!
      if int_month <= 12 and int_days <= 31:
          break
    n=0
    while zodiac_days[n] < (int_month,int_days):
        if int_month == 12 and int_days > 23:
            break
        n +=1
    print(zodiac_name[n])
    展开
    
    
  • Geek_c920e2
    2019-02-27
    老师, 怎么批量在代码前面加#?

    作者回复: 您好,批量增加注释是Pycharm的功能, 使用的快捷键是 ctrl+ /

    
    
  • 洛水
    2018-12-23
    1.使用for语句输出1-100之间的所有偶数
     for num in range(0,100):
        if num%2==0:
            print(num)

    2.使用while语句输出1-100之间能够被3整除的数字
    num=0
    while True:
        num+=1
        if num > 100:
            break
        if num%3==0:
             print(num)
    展开
    
    
  • 图漾•图森破💯
    2018-12-13
    老师 我是说elfi 不是elif python知识图谱中的if分支下的elfi是写错了吧?

    作者回复: 是有问题的,我来更新一下,非常感谢🙏

    
    
  • 图漾•图森破💯
    2018-12-11
    老师你好,github 上面的pyhton知识图谱中流程控制if语句有个elfi分支,这个是不是写错了?

    作者回复: 你好 elif是else if的缩写,试试搜一下else和elif的区别?

    
    
  • asia~wz[]niubilit...
    2018-09-11
    "<"not supported between instances of "float" and "tuple"这是问题??

    作者回复: <两边分别是float和tuple 两种类型,无法进行比较,如果需要将tuple转换为float类型,可以使用float()函数强制转换

    
    
我们在线,来聊聊吧