Python基础语法(一)

2018.05.05_day11
1、执行Python脚本的两种方式
第一种,在命令行输入“python 文件名”
第二种,从解释器打开脚本文件,并运行。
2、简述位、字节的关系
位是计算机存储的最小单位,一个位要么是“0”要么是“1”,8个位等于一个字节。
3、简述ascii、unicode、utf-8、gbk的关系
ASCII码主要用来处理英文字符,中文处理不了。
unicode表示一个字符至少用16位来表示。
utf-8能用多少表示就是用多少表示,节省内存。
gbk两个字节表示
4、请写出“李杰”分别用utf-8和gbk编码所占的位数。
UTF-8,6*8=48位,英文一个字节,中文3个字节
GBK,4*8=32位,不论中英文,2个字节

#GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)。GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。
#UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8 节省空间。另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持。访问UTF-8编码的网页则不出现这问题。可以直接访问。
#GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。
#经常有人问网页编写UTF-8和GBK哪个编码好,根据个人需要,如果你主要做中文程序的开发,客户也主要是中国人的话就用GBK吧,因为UTF-8编码的中文使用了三个字节,用GBK节省了空间。
#如果做英文网站开发,还是用utf-8吧,因为utf-8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。
#如果你的网站是中文的,但国外用户也不少,最好也用UTF-8的吧。
#UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
#比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。
#UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛,GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大~

5、Python单行注释和多行注释分别用什么?
单行用“#”
多行用三引号(单双都可以)
6、声明变量注意事项有哪些?
1、变量名只能包括:字母、数字、下划线
2、不能以数字开头
3、不能位关键字。
4、不要和内置的东西(类名、方法名)重复
7、如有以下变量n1 = 5,请使用int的提供的方法,得到该变量最少可以用多少个二进制位表示?
n1.bit_length()
8、布尔值分别有什么?
True/False
9、阅读代码,请写出执行结果
a="alex"
b=a.capitalize()#capitalize()返回首字母大写,其余小写的字符串
print(a)
print(b)
输出结果:
alex
Alex
10、写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
a.移除name变量对应的值两边的空格,并输入移除后的内容
name.lstrip().rstrip()#lstrip()返回删除开头的空格的字符串,rstrip()返回删除字符串末尾的字符串
b.判断name变量对应的值是否以“al”开头,并输出结果
name.starswith("al")#satarswith(“X”)判断是否以“X”开头,返回True/False,endswith(“X”)判断是否以”X“结尾。
c.判断name变量对应的值是否以”X“结尾
name.endswith("X")
d.将name变量对应的值中的”l“替换为”p“
name.replace("l","p")
e.将name变量对应的值根据”l“分割,并输出结果
print(name.split("l"))
f.请问,上一题e分割之后得到值是什么类型?
列表
g.将name变量对应的值变大写,并输出结果
print(name.upper())
h.将name变量对应的值变小写,并输出结果
print(name.lower())
i.请输出name变量对应的值的第2个字符
print(name[1])
j.请输出name变量对应的值的前3个字符
print(name[0:3])
k.请输出name变量对应的值的后3个字符
print(name[-3:])
k.1将name倒过来输出
print(name[::-1])
l.请输出name变量对应的值中”e“所在的索引位置
print(name.index("e"))
m.获取子序列,仅不包括最后一个字符
print(name[:-1])
21.字符串是否可迭代对象?如可以请使用for循环每一个元素?
for item in name
print("item")
22.请用代码实现:

23.Python2中的range和Python3中的range的区别?
Python2中的range在运行时就会在内存中创建,3中要在使用时才会在内存中创建,节省内存。
24.实现一个整数加法计算器:
如:
25.计算用户输入的内容中有几个十进制整数?几个字母?

test = input("请输入:")
char_count = 0
int_count = 0
for item in test:
    if item.isalpha():
        char_count = char_count+1
    elif item.isdigit():
        int_count = int_count+1
print("字符个数为:",char_count)
print("数字个数为:",int_count)

26.简述int和9等数字以及str和”xxoo“等字符串的关系?
int/str表示类型,9/"xxoo"是一个具体的值
27.制作趣味模板程序
需求:等待用户输入名字、地点、爱好、实现
如:敬爱的xxx,最喜欢在xxx地方干xxx

name = input("请输入您的名字:")
dress = input("请输入您喜欢去的地方:")
hoppy = input("请输入您的爱好:")
print("敬爱的"+name+""+"最喜欢在"+dress+""+hoppy)

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
while True:
    code = check_code()
    print("________________")
    print(code)
    user_original_code = input("请输入验证码:")
    user_code = user_original_code.upper()
    if user_code==code:
        print("验证码正确!")
        print("________________")
        break
    else:
        print("验证码输入不正确!")
        print("________________")

29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入内容包含特殊字符:
如”苍老师“,则将内容换位”***“

info = input("请输入一段话:")
special_word = ["苍老师","东京"]
print("转换前的句子:",info)
for item in special_word:
    if info.find(item)!= -1:
        substitute = "*"*len(item)
        info = info.replace(item,substitute)
print("转换后的句子:",info)

30.制作表格
循环提示用户输入:用户名、密码、邮箱(用户输入长度不超过20,超过只取前20)
如果用户输入q或Q,表示不在输入,将用户输入内容以表格打印。

user_str_sum=""
while True:
    quitgame = input("退出请输入Q或q,按任意键继续:")
    if quitgame !="q" and quitgame !="Q":
        name = input("请输入姓名:")[0:20]
        pw = input("请输入密码:")[0:20]
        email = input("请输入邮箱:")[0:20]
        user_str =name+"\t"+pw+"\t"+email+"\t"+"\n"
        user_str_sum = user_str_sum+user_str
    else:
        break
print(user_str_sum.expandtabs(20))


猜你喜欢

转载自www.cnblogs.com/weiweideboke/p/8995142.html