002 第一章 python基础 练习题&作业

主要为了做自己的自学笔记,以下部分答案引用了大佬的答案,侵删。

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

高级语言分为编译型与解释型两种,分别从执行速度、开发效率、跨平台性三个方面说它们的区别。

编译型语言因为执行的是机器码文件,所以执行速度快且不依赖解释器,但每次修改源代码都需要重新编译,所以导致开发效率低,不同的操作系统,调用的底层机器指令不同,所以跨平台性差。

解释型语言需要解释器边把源文件解释成机器指令边交给cpu执行,所以执行速度要比编译型慢很多,但是每次修改时立刻见效,所以开发效率很高,解释器已经做好了对不同操作系统的交互处理,天生跨平台。

C/C++/C#/Delphi/Go属于编译型,PHP/Java/JavaScript/Python/Perl/Ruby属于解释型。

2.Pyhton 单行注释和多行注释分别用什么?

单行注释:#要注释内容

多行注释:"""要注释内容""" 或者'''要注释内容'''

 3.布尔值分别有什么,及作用是什么?

布尔值(Booleans)是一个逻辑值. 只有 true 和 false (真和假).

4.声明变量注意事项有那些?

(1)变量由数字、字母和下划线组成

(2)变量不能以数字开头

(3)变量不能使用Python关键字[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

(4)变量区分大小写

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

id(变量名)

6.请写出 and 、or、not 的作用,并用代码来演示

以下假设变量:a=10,b=20

7.查看2、2.22、“小猿圈”分别是什么数据类型的语法是什么?

int整型,float浮点型,string字符串型

8.写代码

(1)实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!

_username = "seven"
_password = "123"

username = input("用户名:")
password = input("密码:")


if username == _username and password == _password:
    print("登陆成功!")

else:
    print("登陆失败!")

(2)实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

_username = "seven"
_password = "123"
count = 0
while count < 3:
    count += 1
    username = input("用户名:")
    password = input("密码:")


    if username == _username and password == _password:
        print("登陆成功!")
        break
    else:
        print("登陆失败!")

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

_username = ['seven', 'alex']
_password = "123"
count = 0
while count < 3:
    count += 1
    username = input("用户名:")
    password = input("密码:")


    if username in _username and password == _password:
        print("登陆成功!")
        break
    else:
        print("登陆失败!")

9.写代码

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

count = 0
while count < 12:
    count += 1
    if count != 6 and count != 10:
        print(count)

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

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

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

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

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

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

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

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

10.现有如下两个变量,请根据执行结果解释原因

n1 = 123456
n2 = n1
n1 = 333
print(n1,n2)

333 123456,因为id(n2)指向的是内存中123456的内存地址,id(n1)重新指向了333的内存地址。

11.练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式

------------ info of Egon -----------

Name : Egon

Age : 22

Sex : male

Job : Teacher

------------- end -----------------

name = input("Name:")
age = input("Age:")
sex = input("Sex:")
job = input("Job:")
info =''' 
---------- info of %s -----------
Name : %s

Age : %s

Sex : %s

Job : %s

------------- end ---------------
'''%(name,name,age,sex,job)
print(info)

12.输入一年份,判断该年份是否是闰年并输出结果。(编程题)
注:凡符合下面两个条件之一的年份是闰年。(1)能被4整除但不能被100整除。 (2) 能被400整除。

year = int(input("输入一个年份判断是不是闰年:"))
if year % 4 == 0:
    if year % 400 == 0:
        print(year,"是闰年")
    elif year % 100 == 0:
        print(year,"不是闰年")
    else:
            print(year,"是闰年" )
else:
    print(year,"不是闰年" )

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

money = 10000
years = 0
rate = 0.0325
while money <= 20000:
    years += 1
    money = money * (1+rate)
print(str(years)+"年以后,一万元的一年定期存款连本带息能翻番")

14.使用while,完成以下图形的输出

*

* *

* * *

* * * *

* * * * *

* * * *

* * *

* *

*

i = 1
num = 4
while i < 6:
    print("*"*i)
    i += 1
while i > 5 and i < 10:
    print("*"*num)
    num-=1
    i+=1
num = int(input("请输入要生成的行数N:"))
i = 1  # 行数
while i <= num:
    if i <= num - i:  # 增
        k = i  # 每行生成的个数
        while k > 0:
            print("*", end='')
            k -= 1
        print("\n")
    else:  # 减
        k = num - i + 1  # 生成的个数
        while k > 0:
            print("*", end='')
            k -= 1
        print("\n")
    i += 1

15.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高

height = 100
distance = 100
time1 = int(input("请输入小球落地的次数"))
time = time1
while time > 0:
    time -= 1
    height = height/2
print('''小球反弹 %s 次的高度为%f米''' % (time1,height))
time2 = time1-1
height = 100
while time2 > 0:
    time2 -= 1
    height = height/2
    distance += (2*height)
print('''小球落地 %s 次经过%f米''' % (time1,distance))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值