python源程序执行的方式有哪些_python第一章练习题

本章总节

练习题

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

编译型:把源代码编译成机器语言的可执行文件,程序执行的时候执行可执行文件即可。

优点:程序执行不需要源代码,不依赖语言环境,执行速度快,因为执行的是机器码文件,计算机可以直接读懂

缺点:每次修改源代码都需要重新编译、跨平台性不好,不同的操作系统,调用底层的机器指令不同,需为不同平台生产不同的机器码文件

编译型语言:如C、C++,Delphi

解释型: 用户调用解释器,执行源代码文件,解释器把源代码文件一边解释成机器指令,一边交给cpu执行。

优点:天生跨平台,因为解释器已经针对不同的平台做好了处理,源代码不需要考虑平台差异性;随时修改,改完源代码后直接运行看效果。

缺点:运行效率低,所有代码均需要解释器边解释边执行,速度比编译型较慢;代码为明文

python、java、PHP、ruby等

2.执行 Python脚本的两种方式是什么

交互式解释器、命令行、集成开发环境

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

单行注释 用 # ,多行注释用 ‘‘‘ ‘‘‘

4.布尔值分别有什么?

True 、False

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

变量名只能是字母、数字或下划线的组合

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

关键字不能作为变量名,如[and as assert break class continue.......]

官方推荐 下划线命名的格式: age_of_Jack , color_of_apple ,而非驼峰命名法

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

>>> a = ‘12‘

>>> id(a)

36274224

7.写代码

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

陆失败!

i.实现用户输入用户名和密码,当用户名为 seven且密码为123时,显示登陆成功,否则登

陆失败,失败时允许重复输入三次

ⅲ.实现用户输入用户名和密码,当用户名为 seven或alex且密码为123时,显示登陆成功,

否则登陆失败,失败时允许重复输入三次

8.写代码

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

count = 2

total = 2

while count <= 100:

count += 1

if count % 2 != 0:

count = -1 * count

count = abs(count)

total = total + count

print(count)

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

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

num = 1

while num < 13:

print(num)

num += 1

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

50,然后结束

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

‘‘‘

num2 = 100

tag = True

while tag:

print(num2)

num2 -= 1

if num2 == 49:

num2 = 0

while num2 <= 50:

print(num2)

num2 += 1

else:

tag = False

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

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

num3 = 1

while num3 <= 100:

if num3 % 2 != 0:

print(‘奇数:‘,num3)

num3 += 1

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

#同上, if num3 % 2 == 0

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

n1=123456

n2=n1

n1 = 123456

此时python解释器干了两件事,1、在内存中创建了一个 123456 ;2、在内存中创建了一个叫 n1的变量,并让n1指向了 123456

n2 = n1

1、在内存中创建了一个叫 n2 的变量,2、把变量 n2 指向 变量 n1 指向的数据(123456)

如果这时候 n1 = 1111

此时n2 依然为 123456

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

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

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

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

name = input(‘name:‘).strip()

address = input(‘address:‘).strip()

hobby = input(‘hobby:‘).strip()

print("可爱的{_name},最喜欢在{_address}干{_hobby}".format(_name=name, _address=address, _hobby=hobby))

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

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

能被400整除

year = int(input(‘year:‘).strip())

if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:

print(‘闰年‘)

else:

print(‘非闰年‘)

3.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息

翻番?(编程题)

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

percent = 0.0325

money = 10000

total_money = 10000

year = 1

while True:

if total_money >= money * 2:

break

total_money = total_money * (1 + percent)

year += 1

print(year)

作业

编写登陆接口

基础需求:

让用户输入用户名密码

认证成功后显示欢迎信息

输错三次后退出程序

升级需求:

。可以支持多个用户登录(提示,通过列表存多个账户信息)

用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示需把用户

锁定的状态存到文件里)

# *_*coding:utf-8 *_*

import chardet

import os

‘‘‘

lock.txt 文件中:

gd1,locked

gd2,0

gd3,0

(gd1表示用户名,0表示未锁定,locked表示锁定)

‘‘‘

users = [[‘gd1‘,‘123‘],[‘gd2‘,‘123‘],[‘gd3‘,‘123‘]] #用户列表

count = 0

lock_list = []

login_success = False

locked = False

username_is_exit = False

f = open(‘lock.txt‘, mode=‘r+‘)

for i in f:

lock_list.append(i.replace(‘\n‘,‘‘))

print(lock_list)

while count < 3:

username = input("Username:").strip()

for i in lock_list:

if i.split(‘,‘)[0] == username:

username_is_exit = True

if i.split(‘,‘)[1] == ‘locked‘:

locked = True

break

# else:

# count = i.split(‘,‘)[1]

if locked:

print(‘locked....‘)

break

pwd = input("Password:").strip()

for i in users:

if i[0] == username:

if i[1] == pwd:

login_success = True

count -= 1

break

else:

login_success = False

if locked and not login_success:

print(‘locked....‘)

break

if login_success:

print(‘登录成功‘)

break

else:

print(‘登录失败‘)

count += 1

if username_is_exit:

if count == 3:

print(‘locked.........‘)

# 把lock信息写入文件

f_new = open(‘lock.txt‘, ‘r+‘)

new_line = f_new.read()

for i in lock_list:

if username in i:

new_str = i.replace(‘0‘, ‘locked‘)

new_line = new_line.replace(i, new_str)

else:

new_line = new_line

f_new.write(new_line)

f_new.close()

f.close()

os.remove(‘lock.txt‘)

f_new2 = open(‘lock.txt‘, ‘w‘)

f_new2.write(new_line)

f_new2.close()

break

else:

if count == 3:

print(‘locked.........‘)

break

f.close()

原文地址:https://www.cnblogs.com/friday69/p/9160546.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值