python第一章习题总结

第一章总结

一、简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;

  • 如C C++ Delphi 等语言是编译型语言

而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的. ----跨平台。

  • 如Python Java PHP Ruby等语言是解释型语言

高级语言所编制的程序不能被计算机所知别,必须讲过转换才能被执行,按照转换方式,可以将其分为两类,一类是编译类,一类是解释类

编译类:就是在应用源码程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行。使用比较方便,效率也高,但是应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标(*.obj ,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便。

特点:编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性比较差,如C,C++,Delphi等

优点:1,执行程序时候,不需要源代码,不依赖语言环境,因为执行的是机器源文件。

2,执行速度快,因为程序代码已经翻译成计算机可以理解的机器语言。

缺点:1,每次修改了源代码,需要重新编译,生成机器编码文件

2,跨平台性不好,不同操作系统,调用底层的机器指令不同,需要为不同的平台生成不同的机器码文件。

解释类:执行方式类似于我们生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,一边翻译,因此效率比较低。

特点:效率低,不能生成独立的可执行文件,应用程序不能脱离其解释器,但是这种方式比较灵活,可以动态的调整,修改应用程序。如Python,Java,PHP,Ruby等语言。

优点:1,用户调用解释器,执行源码文件,而且可以随时修改,立即见效,改完源代码,直接运行看结果

2,解释器把源码文件一边解释成机器指令,一边交给CPU执行,天生跨平台,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需要考虑平台差异性。

缺点:1,代码是明文

2,运行效率低,所有的代码是需要解释器边解释边执行,速度比编译型慢很多。

执行python脚本的两种方式是什么

  1. ./run.py.shell直接调用python脚本
  2. python run.py 调用python 解释器来调用python脚本

声明变量注意事项是什么?

  1. 模块名,包名 :小写字母, 单词之间用户_分割。
  2. 类名:首字母大写。
  3. 全局变量: 大写字母, 单词之间用户_分割。
  4. 普通变量: 小写字母, 单词之间用户_分割。
  5. 函数: 小写字母, 单词之间用户_分割。
  6. 实例变量: 以_开头,其他和普通变量一样 。
  7. 私有实例变量(外部访问会报错): 以__开头(2个下划线),其他和普通变量一样 。
  8. 专有变量: 开头,结尾,一般为python的自有变量(不要以这种变量命名)。

变量定义规则:

1,变量名只能是字母,数字或者下划线的任意组合

2,变量名的第一个字符不能是数字

3,关键字不能生命问变量名

注意事项:

1,变量名不能过长

2,变量名词不达意思

3,变量名为中文,拼音

如何查看变量在内存中的地址?

  • id()

    print(id.doc)
    Return the identity of an object.
    This is guaranteed to be unique among simultaneously existing objects.
    (CPython uses the object‘s memory address.)

写代码

实现用户输入用户名,当用户名为james,且密码是123456,显示登陆成功,否则登陆失败。

username = "seven"
password = "123"

_username = input("请输入用户名:")
_password = input("请输入密码:")

if _username == username and _password == password:
    print("恭喜登陆成功.....")
else:
    print("登录失败,用户名或密码错误....")

实现用户输入用户名,当用户名为james,且密码是123456,显示登陆成功,否则登陆失败,失败次数允许重复三次

username = "seven"
password = "123"
count = 0
while count < 3:
    _username = input("用户名:")
    _password = input("密码:")
    if _username == username and _password == password:
        print("欢迎", username, "登陆.....")
        break
    else:
        print("用户名或密码错误....")
        count += 1
        print("您还有", 3 - count, "次机会重新登陆")
else:
    print("登陆失败")

实现用户输入用户名和密码,当用户名位sevev或alex且密码为123时,显示登陆成功,否则登录失败,失败时允许重复输入三次.

username = "seven"
username1 = "alex"
password = '123'
count = 0
while count < 3:
    _username = input("username:")
    _password = input("password:")
    if _username == username or _username == username1:
        if _password == password:
            print("Welcome", _username, "login.....")
            break
        else:
            print("wrong password....please try again.")
            count += 1
            print("you have", 3 - count, "times to try.")
            continue
    else:
        print("Wrong username...please try again")
        count += 1
        print("you have", 3 - count, "times to try.")
        continue
else:
    print("you tried too many times...")

使用while循环实现输出2-3+4-5+6......+100的和

count = 2
count1 = 0
while count < 101:
    if count % 2 == 0:
        count1 += count
    else:
        count1 -= count
    count += 1
else:
    print(count1)

使用while循环实现输出1,2,3,4,5,7,8,9,11,12

count = 1
while count < 13:
    if count == 6 or count == 10:
        pass
    else:
        print(count)
    count += 1

使用while循环输出100-50,从大到小,如100,99,98....,到50时再从0循环输出到50,然后结束

count = 101
while True:
    if count > 50:
        count -= 1
        print(count)
    else:
        print(50-count)
        count -= 1
        if count < 0:
            break

使用while循环实现输出1-100内的所有奇数

count = 1
# while count < 100:
#     print(count)
#     count += 2

while True:
    if count % 2 == 1:
        print(count)
    count += 1
    if count == 100:
        break

使用while 循环实现输出1-100内的所有偶数

# count = 2
# while count <= 100:
#     print(count)
#     count += 2


count = 1
while count <= 100:
    if count % 2 == 0:
        print(count)
    count += 1

现有如下两个变量,请简述n1和n2是什么关系?

n1 = 123456

n2 = n1

将123456赋值给n1,然后将n2指向n1存储内容的地址,n2的值和n1的值相同

制作趣味模板程序(编程题)

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示

如:敬爱可爱的xxx,最喜欢在xxx地方干xxx。

输入一年分,判断该年份是否是闰年并输出结果。(编程题)

注:凡符合下面两个条件之一的年份是闰年。

1、能被4整除但不能被100整除

2、能被400整除

假设一年期定期利率为3.23%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?(编程题)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容

  • 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入...
    小小不懂11阅读 3,414评论 2 30
  • 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的...
    Clemente阅读 967评论 0 1
  • 来这个平台主要还是——交友。 想知道有趣的灵魂 想了解不同的人生 想看看更远的地方 基本标签 叫我:陈灿,灿灿,好...
    朝朝暮暮小灿也阅读 2,102评论 65 47
  • 思考=理解+分析+表达 为啥要思考? 思考的能力非常重要,从你知道他的重要性开始,你就要开始使用了。 思考的能力不...
    楼上的艺术家阅读 236评论 0 0