记录day2

房间里的空调吵的不行...不知是干什么了,但是现在在重新签房租的敏感时期,我也不太敢和房东说,唉。

先记录今天遇到的一个的问题:

def print70(s):
    len = len(s)
    spaces = 70 - len
    print(spaces+s)
print70(‘xuetao‘)

代码运行结果:

这个报错我其实有些不太理解,我用len做变量名,难道是覆盖了函数名?

假设是这样的,我来做个测试:

在main函数的环境下,其实这个赋值语句是能正常运行的,而且是正常的结果。

但是仔细想想啊,python会把函数定义这部分代码先运行,运行完这部分代码时,其实len这个变量已经不是一个函数了。

修改一下原先的代码,测试一下

def print70(s):
    len = len(s)
    spaces = 70 - len
    print(spaces+s)
# print70(‘xuetao‘)
print(type(len))

结果还是不算特别清晰,这时候len是一个函数或方法,但是和在之前在main环境下直接看len已经不一样了?

继续修改代码,直接来个狠的。

print(type(len))
def print70(s):
    len = len(s)
    spaces = 70 - len
    print(spaces+s)
# print70(‘xuetao‘)
print(type(len))
print(len)

我有些凌乱了...

如果把注释去掉,调用print70函数,又是那个报错

无法理解,暂且记着吧。

--------------

更新

联系3.3不知道大家有没有好办法,我的代码写的好蠢,求优化

def drawSonLine1():
    print(‘- - - - +‘, end=‘ ‘)

def drawSonLine2():
    print(‘ ‘*8 + ‘|‘, end=‘ ‘)

def drawLine1():
    print(‘+‘, end=‘ ‘)
    drawSonLine1()
    drawSonLine1()
    drawSonLine1()
    drawSonLine1()
    print() # 换行
    print() # 空出一行

def drawLine2():
    print(‘|‘, end=‘ ‘)
    drawSonLine2()
    drawSonLine2()
    drawSonLine2()
    drawSonLine2()
    print() #换行
    print() #空出一行

def draw():
    drawLine1()
    drawLine2()
    drawLine2()
    drawLine2()
    drawLine2()

    drawLine1()
    drawLine2()
    drawLine2()
    drawLine2()
    drawLine2()

    drawLine1()
    drawLine2()
    drawLine2()
    drawLine2()
    drawLine2()

    drawLine1()
    drawLine2()
    drawLine2()
    drawLine2()
    drawLine2()

    drawLine1()

draw()
时间: 2024-10-11 13:49:31

记录day2的相关文章

JavaScript学习记录day2

JavaScript学习记录day2 学习 javascript JavaScript学习记录day2 1.1 数据类型 1.2 变量 1.1.1 Number 1.1.2 字符串 1.1.3 布尔值 1.1.4 比较运算符 1.1.5 null和undefined 1.1.6 数组 1. 数据类型和变量 1. 数据类型和变量 1.1 数据类型 1.1.1 Number JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型: 123; // 整数1230

记录day2补充

看到turtle模块,其实挺好玩的,所以就把写的东西搬过来,虽然都很蠢,但是自己还是想记录一下的 画一个等边的直角三角形 1 import turtle 2 import math 3 bob = turtle.Turtle() 4 # print(bob) 5 bob.fd(100) 6 bob.lt(90) 7 bob.fd(100) 8 bob.lt(135) 9 bob.fd(math.sqrt(100**2+100**2)) 10 turtle.mainloop() 画一个正方形 1

Python学习记录day2

今天,跟着Alex喝了心灵的鸡汤:Be a new gentlmen 着装得体 每天洗澡 适当用香水 女士优先 不随地吐痰.不乱扔垃圾.不在人群中抽烟 不大声喧哗 不插队.碰到别人要说抱歉 不在地铁上吃东西 尊重别人的职业和劳动 尊重别人隐私,不随便打听别人工资 与人保持安全距离(1米) 多去旅行,一年至少一个国家 多看书,电影,一年15本书,50+部电影 学好英语 保持不甘心.保持正能量 做事件一定要学会换位思考,要想此事会不会给别人造成不好的困扰 积极影响身边的人 推荐读书 <三体> &l

python自动化运维培训学习记录-day2

day02  基础二 一. .pyc 文件简介 3版本中   .pyc 会 移到    __pycache__ 目录下,名称 为  *.cpython-32.pyc java是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成及其文件,所以JAVA是一种先编译后解释的语言 python和Java/c# 一样,也是一门基于虚拟机的语言, 而python执行时先自动编译,执行py 脚本时,其实是激活了python的解释器,告诉解释器,你要开始工作了,可在解释之前,其实执行的第一项工作和jav

记一次数据中心云平台系统项目实施

朋友所在的单位中标了,一人前去目标地点实施,因为他对虚拟化.存储这一块不是很熟悉,所以让我跟他一起实施(做些远程支持). 实施前准备: 由于朋友去的匆忙,并没有说清楚目标地点的环境,因此我让他准备一下: 1.确定一下是原有的数据中心云平台系统升级还是新装 2.确定一下设备以及相关配套设施是否就位 3.确定一下设备及关键配套设备的具体型号,是否已经上架 4.确定一下机房内网络电源等是否完备,如果完备的话提前联系好相关负责人,如果网络没有规划设计,则需要规划和设计网络 5.(可选)货物清单,项目合同

java学习记录【day2】

第二天,下载了最新的java,并搭建了初步的软件环境. 发现英文版的windows不好用,因为显示全是英文了,所以下载了简体中文的语言包,把系统语言换成了中文版.

python之day2

模块初识   模块分两种:标准库和第三方库 Sys和os模块,标准库 Import sys Sys.path    #print(sys.path) 起名字时不能与导入的库名一样,因为导入的时候首先会到当前目录中找,这样就会导入自己. Python和系统都有一个环境变量,print(sys.path)可以打印出python的环境变量,输出结果如下: ['D:\\python_file\\day2', 'D:\\python_file', 'C:\\Python35\\python35.zip',

省常中模拟 Test3 Day2

matrix 找规律 题意:给定一个 N*N 的只有 0 和 1 的矩阵,有 Q 个操作,分三种:1. 将某行上的所有数字取反:2. 将某列上的所有数字取反:3. 输出 sum{ a[i][j]*a[j][i] } mod 2.N <=1000,Q<=5*10^5. 解法:初看题目会觉得很棘手.然后可以发现,对于不在对角线上的点,a[i][j]*a[j][i] 会被累加两次(一次是在计算 (i, j) 时,另一次是在计算 (j, i) 时),由同余定理可知,无论 a[i][j] 或 a[j][

2017雅礼省选集训做题记录

嘛,最近在补雅礼省选前集训的题.都是我会做的题..那一定是最水的那些题啦 题目在loj.ac上都有.过段时间如果搬了雅礼NOI集训的题应该也会做做的吧.. Day1 T1 一道经典套路题,做法跟UOJ #228基础数据结构练习题类似. 使用线段树维护.考虑相邻两个数的差值最多变化log次.也就是说,对于每个区间,只要操作二进行大概log次就能使得这个区间内所有数完全一样.所以对于操作二,只要记录一下区间最大最小值,就能直接打标记或者暴力DFS下去. 和UOJ那个题一样,注意一个特殊情况,就是一个