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. 交互器执行,在控制台上运行临时输入的代码
  2. 文件操作,执行一个保存好的py文件

    两者的区别是:一个是内存操作,一个是硬盘操作,
    内存的特点是:读取速度快,但是断电就丢失数据
    硬盘的特点是:速度慢,但可以保存数据

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

 变量定义规则:

1,变量名只能是字母,数字或者下划线的任意组合
2,变量名的第一个字符不能是数字
3,关键字不能生命问变量名

注意事项:
1,变量名不能过长
2,变量名词不达意思
3,变量名为中文,拼音

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

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,显示登陆成功,否则登陆失败。

 1 username = "seven"
 2 password = "123"
 3 
 4 _username = input("请输入用户名:")
 5 _password = input("请输入密码:")
 6 
 7 if _username == username and _password == password:
 8     print("恭喜登陆成功.....")
 9 else:
10     print("登录失败,用户名或密码错误....")
View Code

 

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

 1 username = "seven"
 2 password = "123"
 3 count = 0
 4 while count < 3:
 5     _username = input("用户名:")
 6     _password = input("密码:")
 7     if _username == username and _password == password:
 8         print("欢迎", username, "登陆.....")
 9         break
10     else:
11         print("用户名或密码错误....")
12         count += 1
13         print("您还有", 3 - count, "次机会重新登陆")
14 else:
15     print("登陆失败")
View Code

 

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

 1 username = "seven"
 2 username1 = "alex"
 3 password = '123'
 4 count = 0
 5 while count < 3:
 6     _username = input("username:")
 7     _password = input("password:")
 8     if _username == username or _username == username1:
 9         if _password == password:
10             print("Welcome", _username, "login.....")
11             break
12         else:
13             print("wrong password....please try again.")
14             count += 1
15             print("you have", 3 - count, "times to try.")
16             continue
17     else:
18         print("Wrong username...please try again")
19         count += 1
20         print("you have", 3 - count, "times to try.")
21         continue
22 else:
23     print("you tried too many times...")
View Code

 

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

 1 count = 2
 2 count1 = 0
 3 while count < 101:
 4     if count % 2 == 0:
 5         count1 += count
 6     else:
 7         count1 -= count
 8     count += 1
 9 else:
10     print(count1)
View Code

 

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

1 count = 1
2 while count < 13:
3     if count == 6 or count == 10:
4         pass
5     else:
6         print(count)
7     count += 1
View Code

 

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

 1 count = 101
 2 while True:
 3     if count > 50:
 4         count -= 1
 5         print(count)
 6     else:
 7         print(50-count)
 8         count -= 1
 9         if count < 0:
10             break
View Code

 

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

 1 count = 1
 2 # while count < 100:
 3 #     print(count)
 4 #     count += 2
 5 
 6 while True:
 7     if count % 2 == 1:
 8         print(count)
 9     count += 1
10     if count == 100:
11         break
View Code

 

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

 1 # count = 2
 2 # while count <= 100:
 3 #     print(count)
 4 #     count += 2
 5 
 6 
 7 count = 1
 8 while count <= 100:
 9     if count % 2 == 0:
10         print(count)
11     count += 1
View Code

 

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

n1 = 123456
n2 = n1

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

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

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示
如:敬爱可爱的xxx,最喜欢在xxx地方干xxx。

name = input("姓名:")
site = input("最喜欢待的地方:")
hobby = input("爱好:")
print("可爱的 %s,最喜欢在%s地方干%s." % (name, site, hobby))
View Code

 

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

注:凡符合下面两个条件之一的年份是闰年。
1、能被4整除但不能被100整除
2、能被400整除

year = int(input("please enter a proper year:"))
if year % 400 == 0:
    print("闰年")
elif year % 4 == 0 and year % 100 != 0:
    print("闰年")
else:
    print("不是闰年")
View Code

 

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

deposit = 10000
count = 1
while True:
    if deposit // 10000 == 2:
        print(count, "年以后连本带息翻一番")
        break
    else:
        deposit *= 1.0323
        count += 1
View Code

 

posted @ 2018-04-08 18:48  dc0012  阅读(173)  评论(0编辑  收藏  举报