python经典程序练习题-Python练习题(基础知识练习题(一))

1.执行Python脚本的两种方式

(1).交互方式:启动python解释器,执行命令

(2).脚本方式:Python xxx.py 或者 chmod +x && ./xxx.py

2.简述位、字节的关系

一个二进制位是计算机里最小表示单元。

一个字节是计算机里最小存储单元。

二进制位=8bits=1Byte=1字节

3.简述ascii、unicode、uft-8、gbk的关系

美国制定了一套字符编码,对英语字符与二进制位之间的关系做了统一规定,这被称为ASCII码,由1个字节组成,最多支持2**8=256个字符

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,由2个字节组成,最多支持2**16=65536个字符

UTF-8最大的特点就是它是一种变长的编码方式,由1-6个字节组成,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。

GBK是汉字国标扩展码,由于GBK同时也涵盖了Unicode所有CJK汉字,所以也可以和Unicode做一一对应。Windows默认编码GBK,中文占2个字节。

4.请写出"李杰”分别用utf-8和gbk编码所占的位数

UTF-8中一个英文占1个字节,一个中文占3个字节,此处"李杰”占6个字节。

GBK中一个中文占2个字节,此处"李杰”占4个字符。

5.Python单行注释和多行注释分别用什么?

单行注释:#要注释内容

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

6.声明变量注意事项有哪些?

变量由数字、字母、下划线组成

变量不能以数字开头

变量不能使用关键字

变量区分大小写

7.如有一个变量n1 = 5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示?

#!/usr/bin/env python

#-*- encoding:utf-8 -*-

n1 = 5

v = int.bit_length(n1)

print(v)

8.布尔值分别有什么?

True False

"" => False #空字符串

"有内容" => True

0 => False

其他数字 => True

9.阅读代码,请写出执行结果

a = "alex"

b = a.capitalize()

print(a)

print(b)

执行结果:

alex

Alex

10.写代码,有如下变量,请按照要求实现每个功能

name=" aleX"

a.移除name变量对应的值两边的空格,并输入移除后的内容

print(name.strip())

b.判断name变量对应的值是否以"al"开头,并输出结果

print(name.startswith("al"),name)

c.判断name变量对应的值是否以"X"结尾,并输出结果

print(name.endswith("X"),name)

d.将name变量对应的值中的"l"替换为"p",并输出结果

print(name.replace("l","p"))

e.将name变量对应的值中的"l"分割,并输出结果。

print(name.split("l"))

f.请问,上一题l分割之后得到是什么类型(可选)?

列表

g.将name变量对应的值变大写,并输出结果

print(name.upper())

h.将name变量对应的值变小写,并输出结果

print(name.lower())

i.请输出name变量对应的值的第2个字符?

print(name[1])

j.请输出name变量对应的值的前3个字符?

print(name[:3])

k.请输出name变量对应的值的后2个字符?

print(name[-2:]) #-1代表最后一个字符,-2代表倒数第二个字符

l.请输出name变量对应的值中"e"所在的索引位置?

print(name.index("e"))

m.获取子序列,仅不包含最后一个字符。如:oldboy 则获取oldbo;root则获取roo

print(name.rstrip(name[-1:]))

21.字符串是否可迭代?如可以请使用 for 循环每一个元素?

name = "aleX"

for i in name:

print(i)

22.请用代码实现:

a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"

li = "alexericrain"

print("_".join(li))

b.利用下划线将列表的每一个元素拼接成字符串,li = ["alex","eric","rain"]

li = ["alex","eric","rain"]

print("_".join(li))

23.Python2中的range和Python3中的range的区别?

python2中的range返回的是一个列表,直接创建内容

python3中的range返回的是一个迭代值,只有for循环时,内容才一个一个创建

24.实现一个整数加法计算器:

如:

content = input("请输入内容:") #如:5+9

content = input("请输入内容:")

print(eval(content))

25.计算用户输入的内容中有几个十进制数?几个字母?

如:

content=input("请输入内容:") #如: asduiaf878123jkjsfd-213928

content = input("请输入内容:")

n = 0;s = 0

for i in range(len(content)):

# print(content[i])

if content[i].isdecimal():

n += 1

if content[i].isalpha():

s += 1

print("十进制数的数量:",n,"字母的数量:",s)

26.简述int和9等数字以及str和"xxoo"等字符串的关系?

27.制作趣味模版程序

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

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

name = input("请输入名字:")

where = input("请输入地点:")

love = input("请输入爱好:")

print("敬爱可亲的 %s,最喜欢在 %s地方干 %s"% (name,where,love))

28.制作随机验证码,不区分大小写。

流程:

- 用户执行程序

- 给用户显示需要输入的验证码

-用户输入的值

用户输入的值和显示的值相同时显示正确信息;否则继续生成随机验证码继续等待用户输入

生成随机验证码事例:

def check_code():

import random

checkcode = ""

for i in range(4):

current = random.randrange(0,4)

if current != i:

temp = chr(random.randint(65,90))

else:

temp = random.randint(0,9)

checkcode += str(temp)

return checkcode

code = check_code()

print(code)

原文地址:http://www.cnblogs.com/wushuaishuai/p/7700759.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值