zoukankan      html  css  js  c++  java
  • Python学习过程中那些很重要有容易忽略的细节

    # 本文我将持续更新和补充,可以收藏。

    # 主要记录:开发过程中程序不报错但是逻辑存在问题的;逻辑会报错但是(太简单)不太会去优先测试的;及其他各种……

    #  当下比较粗糙,以后积累到一定数量,希望能做成一个手册。


    1.中英文标点符号错误,尤其引号,逗号,冒号是否落下,是否错误。 尤其在input函数、正则表达式中等。(这个排第一,不接受反驳,2333)

    2.多分支(if...elif...elif...else...)结构中,各分支条件之间的覆盖关系,变量取值之间的覆盖关系。程序可运行但是不正确。

    3. 这种小题目,有时候突然就有新思路。之前一直笨笨的去找,比如求 百位数,我会写成: b = (num % 10000)%1000 //100 ...  差点被绕进去了。

    # 5、通过键盘输入一个5位数,判断它是不是回文数。提示:12321是回文数,个位与万位相同,十位
    # 与千位相同。
    
    num = int(input("输入五位数:"))
    w = num // 10000
    q = (num % 10000) // 1000
    b = (num % 1000) // 100
    s = (num % 100) // 10
    g = num % 10
    if w == g and q == s:
        print("回文数")
    else:
        print("不是回文数")

    4.while循环语句,容易漏掉条件初始化(i=0),或者最后条件计数器忘记写,造成死循环。在循环嵌套和循环分支嵌套等较为复杂语句的时候,还要注意 多条件计时器的位置,起始值,包含关系。尤其,再加入 break、continue等关键字后,更要注意。

    5.关系运算符中间是不能有空格的额,比如“<=”,尤其在习惯PEP8的格式但是又不是很准确的时候 ,容易习惯性的在“+” 等后面加一个空格,写成“+ =”,造成语法错误。

    6./除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:  9/3 = 3.0     地板除,两个整数的除法仍然是整数    10//3 = 3

    7.题目:使用while循环输出如下图形:(必须使用双重while循环实现)
        *
       * *
      * * *
     * * * *

    * * * * *

    对于强迫来说,一家人必须要整整齐齐,哈哈没配图尴尬了。

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

    其实重点是要强调的一种思维是:

    #1 4个空格  +  1个“* + 空格”  + 4个空格

    #2 3个空格  +  2个“* + 空格”  + 3个空格

    #3 2个空格  +  3个“* + 空格”  + 2个空格

    #4 1个空格  +  4个“* + 空格”  + 1个空格

    #5 0个空格  +  5个“* + 空格”  + 0个空格

    以上是循环的思路,而且为了对齐把“*”和一个空格,当作一个整体来看待;当然,还是那句话,这道题肯定有更简单的方法。



    (待续)......




  • 相关阅读:
    文件上传到服务器,写入文件和读取文件
    ajax
    jquery.gritter 提示
    lambda
    C# 对象初始化器和集合初始化器
    C# HttpHelper万能框架实现 接口
    插件总结
    backbone.js之Model篇 简单总结和深入(2)
    backBone.js初识
    利用 bugly 分析应用崩溃
  • 原文地址:https://www.cnblogs.com/xiegalpha/p/9231666.html
Copyright © 2011-2022 走看看