zoukankan      html  css  js  c++  java
  • python第一模块练习

    ### 第一套题
    # # 1. 分别解释"=","==","+="的含义(口述)
    # =为赋值语句,把一个变量值赋予另一个值
    # == 为条件判断,判断两个值是否相等
    # += 为赋值 意思为 a+=1 就是a=a+1

    # 2.
    # 两个变量值的关系?(口述)
    # - n1 = 123456
    # - n2 = n1
    # n1赋予123456的值 然后将n1地址存储123456的内存地址给与n2 意思就是n1 n2指向123456这个地址。

    # 3. 请写出 “路飞学城” 分别用 utf-8 和 gbk 编码所占的位数(口述)
    # utf-8 占12字节 GBK占8字节 12字节相当于96位 8字节64位

    # 4. 简述Python中的几种数据类型(口述)
    # 数据类型分为:基本类型、数据集。
    # 基本类型包括:数字类型(整形、长整型、浮点型、复数)、字符串类型、布尔类型。
    # 数据集类型包括:列表、元祖、字典、集合。
    #
    # 5. 数据类型的可变与不可变分别有哪些?(口述)
    # 可变:字符串、列表、可变集合、字典value
    # 不可变:数字、字符串、布尔、元祖、字典key、不可变集合
    #
    # 6.
    # 元祖,列表,字典有没有长度的限制?(口述)
    # 没有,根据内存大小定义。
    #
    # 7.
    # 列表['alex', 'egon', 'yuan', 'wusir', '666'](编程)
    # info = ['alex', 'egon', 'yuan', 'wusir', '666']
    # -1.把666替换成999
    # info[-1] = '999'
    # print(info)

    # -2.获取"yuan"索引
    # print(info.index('yuan'))

    # -3.假设不知道前面有几个元素,分片得到最后的三个元素
    # print(info[-3:])

    # 8. 将字符串“www.luffycity.com”给拆分成列表:li=['www','luffycity','com'] (编程)
    # li='www.luffycity.com'
    # print(li.split('.'))

    # # 9. 对字典进行增删改查(编程)
    # # - {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # dic={"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # #增加
    # dic['打扫']='阿姨'
    # print(dic)
    # #删除
    # del dic['打扫']
    # print(dic)
    # # 改
    # dic['UI']='ui'
    # print(dic)
    # #查
    # print(dic.get('UI'))

    # 10. 计算1+2+3...+98+99+100 (编程题)
    # a = range(100)
    # count = 0
    # for i in a:
    # count = count+i
    # print(count)

    # 11. 制作趣味模板程序(编程题)
    # 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
    # 如:敬爱可爱的xxx,最喜欢在xxx地方干xxx

    # name = input('输入名字:')
    # place = input('输入地点:')
    # likes = input('输入爱好:')
    # print('敬爱可爱的%s,最喜欢在%s地方干%s'%(name,place,likes))

    # 12. 写一个三次认证(编程)
    # 1. 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    # name = 'senven'
    # name1 = 'alex'
    # password = '123'
    # count=0
    # while count < 3:
    # name_ = input("请输入用户名:")
    # password_= input("请输入密码:")
    # if (name == name_ or name1 == name_) and password_ == password:
    # print('登录成功')
    # break
    # else:
    # count += 1
    # print('登录失败%s次,超过3次则退出'%(count))


    ### 第二套题
    # # 1. 解释'and','or','not'(口述)
    # 和C语音的与或非类似,and,or,not都为逻辑运算符
    # and表示两者都为TRUE,则为TRUE
    # or表示两者有一个判断为布尔TRUE 则结果为TRUE 反之则False
    # not 表示取反 如x为True,not x 则为False

    # 2. 元组和列表的区别(口述)
    # 元组又叫只读列表,不可改变,且无序。
    # 列表有序,并且可以修改。

    # 3. 列举一堆布尔值为False的情况(口述)
    # [],{},None,False,'',数字0,-0
    # print(bool([]))

    # 4. python2和python3对于long(长整形)的区别。
    # python2中有整形int和long,int 32位系统最多只有32位,超出32位则为long。64位系统为64位。
    # python3中全部为int。
    # long在python中没有指定位宽。

    # 5. 元祖和列表的区别(口述)
    # 元组又叫只读列表,不可改变,且无序。
    # 列表有序,并且可以修改。

    # 6. 变量命名规范 ?(口述)
    # 首字母不能是数字,并且变量名只能含有英文,数字,和下划线_

    # # 7. 阐述一下unicode和utf-8的区别(或者unicode在python3的作用)(口述)
    # unicode又叫万国码,涵盖全世界的编码,所有字符和符号最少由16位(2个字节)表示,和别的编码有对应映射关系。
    # utf-8对unicode进行了优化,uft-8对于英文只占用1个字节,欧洲字符2个字节,东亚字符3个字节,特殊字符4个字节。
    # 在python3中默认在内存存储代码的形式就是unicode,为了方便不同国家的人查看代码。

    # 8.内存空间的考核。(口述)
    #
    # - 问修改前后info的id是否改变
    # - 问修改前后info['alex']['hobbies']
    # 的id是否改变
    #
    # info = {
    # 'egon': {'pwd': '123', 'hobbies': ['play', 'music', 'read']},
    # 'alex': {'pwd': '1234', 'hobbies': ['music', 'read']},
    # 'wupeiqi': {'pwd': '135', 'hobbies': ['read', ]},
    # }
    # info['alex']['hobbies'].append('play')

    # 内存地址不会改变。

    # 9. 切割字符串"luffycity"为"luffy","city"(编程)

    # info='luffycity'
    # print(info[0:5])
    # print(info[5:])

    # 10. 猜年龄游戏(编程题)

    # age = 26
    # while 1:
    # user_guess = input("猜猜年龄数:")
    # if user_guess.isdigit() == True:
    # if age == int(user_guess):
    # print("恭喜你!猜对了")
    # break
    # elif int(user_guess) > age:
    # print("你猜大啦,再试试吧")
    # else:
    # print("你猜小啦,再试试吧")

    # 11. 求1~100间所有偶数的和(亦可奇数和,使用while循环写)(编程题)。

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

    # 12. 从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。(编程题)

    # score = int(input('输入成绩:'))
    # if score >= 90:
    # print("成绩为A")
    # elif score >= 80:
    # print("成绩为B")
    # elif score >= 70:
    # print("成绩为C")
    # elif score >= 60:
    # print("成绩为D")
    # else:
    # print("成绩为E")

    ### 第三套题

    # # 1. "is"和“==”的区别(口述)

    # is是对比地址,==是对比值.
    # is是判断变量是否来自同一对象同一地址。
    # ==是判断值是否相等。

    # 2. 声明变量注意事项有哪些?(口述)

    # 注意变量定义的规则:
    # 1.变量名只能是 字母、数字或下划线的任意组合。
    # 2.变量名的第一个字符不能是数字。
    # 3.关键字不能声明为变量名。
    # 变量名不要过长,最好不要使用中文和拼音,还有不能乱起变量名,比如名不搭意。


    # 3. 深浅copy-引用和copy(),deepcopy()的区别(口述)

    # 1.引用赋值的时候,指向同一个列表地址,如果a列表重新赋予别的列表,b还是指向之前的地址,b列表不改变
    # 如果a列表里的值改变,那么b也会跟着改变。
    # 2.当使用copy()的时候,相当于整个列表包括里面的东西一起完整拷贝给你,不是指向同一个地址,
    # a里面的值改变,b列表不跟着改变。但是如果a列表是嵌套列表,嵌套列表里的值发生变化,拷贝的列表b里的嵌套
    # 列表也会跟着改变,因为列表里的列表是指向同一个地址,相当于1.的情况
    # 3.使用deepcopy()的话,列表里的数地址也会不一样,所以改变列表a里的嵌套列表的数,b也不会跟着改变。

    # 4. 各个数据类型分别是有序的?还是无序的?(口述)

    # 有序:列表、元组、字符串
    # 无序:字典、集合

    # 5. 输入一年份,判断该年份是否是闰年并输出结果。(该程序可以重复使用 使用while True)(编程题)
    # 注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。

    # while True:
    # year = input("输入年份判断是否闰年:(输入q退出)")
    # if year.isdigit() == True:
    # if (int(year)%4 == 0 and int(year)%100 != 0) or (int(year)%400 == 0):
    # print("您输入的是闰年:%s"%(year))
    # else:
    # print("您输入的不是闰年")
    # elif year == 'q':
    # break

    # 6. 有如下字符串:n = "路飞学城"(编程题)
    #
    # - 将字符串转换成utf-8的字符编码,再将转换的字节重新转换为utf-8的字符编码
    # - 将字符串转换成gbk的字符编码,再将转换的字节重新转换为utf-8的字符编码

    # n = "路飞学城"
    # n1 = n.encode('utf-8')
    # print(n1)
    # n = n1.decode('utf-8')
    # print(n)
    # n2 = n.encode('GBK')
    # print(n2)
    # n = n2.decode('GBK').encode('utf-8')
    # print(n)

    # # 7. 将列表['alex', 'steven', 'egon'] 中的每一个元素使用 ‘\_’ 连接为一个字符串(编程)
    # info=['alex', 'steven', 'egon']
    # s1='\_'
    # print(s1.join(info))

    # # 8.自定义两个,并求交集,合集,差集。(编程)
    # a = {1, 2, 3, 4, 5}
    # b = {2, 4, 6, 8, 10}
    # print(a & b)
    # print(a | b)
    # print(a - b)

    # 9. 求100以内不能被3整除的所有数,并把这些数字放在列表sum3=[]里,并求出这些数字的总和和平均数。(计算的时候告诉学员,sum是一个关键词,不能当作变量)(编程)
    # info = range(100)
    # sum3 = []
    # for i in info:
    # if i % 3 == 0:
    # sum3.append(i)
    # count = 0
    # for i in sum3:
    # count = count + i
    # print(sum3)
    # print("总和:%s"%(count))

    # 10. 根据字典内容打印出下面的形式(编程)
    # 可以不打印工整对齐的效果,主要是让学员获取key和value。
    # {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # 效果如下:
    # 1. 删除了UI
    # 2. 修改了Operate
    #
    # ```
    # Development --- 开发小哥
    # OP --- 运维小哥
    # Operate --- 小仙女
    # ```

    # info = {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # del info['UI']
    # info['Operate']='小仙女'
    # for k in info:
    # print(k,info[k])

    # 11. 假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?(编程题)
    # money = 10000
    # interest = money
    # count = 0
    # while True:
    # count += 1
    # interest = interest * (1 + 3.25 / 100)
    # if interest // money == 2:
    # print(count)
    # break

    # 12.
    # 对列表进行增删改查(查可以是索引,值是否存在列表当中)。(编程)
    #
    # - ['alex', 'egon', 'wusir', 'wen', 'jing']

    # info = ['alex', 'egon', 'wusir', 'wen', 'jing']
    # #增加
    # info.append('hessen')
    # print(info)
    # #删除
    # info.remove('wen')
    # print(info)
    # del info[-1]
    # print(info)
    # #修改
    # info[1]='hessen'
    # print(info)
    # #查找
    # print(info.index('hessen'))

    ### 剩余题
    # 1. 猜数游戏。预设一个0~9之间的整数,让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直至猜中该数,显示“恭喜!你猜中了!(编程题)
    # number = 8
    # while 1:
    # user_guess = input("猜猜年龄数:")
    # if user_guess.isdigit() == True:
    # if number == int(user_guess):
    # print("恭喜!你猜中了!")
    # break
    # elif int(user_guess) > number:
    # print("太大")
    # else:
    # print("太小")

    # 2. 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。(编程题)
    # print("输入两个数比较大小")
    # info = []
    # while len(info) < 2:
    # number = input('输入数:')
    # if number.isdigit() == False:
    # print("输入错误,请输入数字")
    # continue
    # else:
    # info.append(number)
    # maxnumber=int(info[0])
    # for i in info:
    # if int(i) > maxnumber:
    # maxnumber = int(i)
    # print("%s比较大"%(maxnumber))
    #

    # 3. 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?(编程题)
    # 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
    # 程序源代码:
    #
    # n = [1,2,3,4]
    # n1 = []
    # i = j = k = 0
    # count = 0
    # while i < 4:
    # n2 = n[i]*100
    # i+=1
    # while j<4:
    # n3 = n2+n[j]*10
    # j+=1
    # while k<4:
    # n1.append(n3+n[k])
    # k+=1
    # else:
    # k=0
    # else:
    # j=0
    # n2=n1.copy()
    # for index,i in enumerate(n1):
    # a = n1[index]//100
    # a1 = n1[index]%100//10
    # a3 = n1[index]%10
    # if a == a1 or a == a3 or a1 == a3:
    # n2.remove(i)
    # print(len(n2),n2)

    # 4.
    # # 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5, 然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。(编程题)
    # data = input("输入4位数:")
    # data = list(''.join(data))
    # for index,i in enumerate(data):
    # data[index] = (int(i) + 5) % 10
    # print(data)
    # data.reverse()
    # print(data)

    #
    # 5. 求100以内的素数和。(编程题)
    # n1 = list(range(2,100))
    # n2 =[]
    # i = 0
    # count = 0
    # count1 = 0
    # while count < 98:
    # if n1[i] % n1[count] == 0:
    # count1+= 1
    # if count == 97 and count1 == 1:
    # n2.append(n1[i])
    # count+= 1
    # if count == 98:
    # i+= 1
    # count1 =count = 0
    # if i == 98:
    # break
    # print(sum(n2))



    # 6. 二进制,十进制,十六进制互相转换(计算题,让学员使用计算器,别用编程的内置方法)
    # 十进制转二进制:bin()
    # 十进制转十六进制:hex()
    # 十进制转八进制:oct()
    # 二进制转10进制:如1010: 相当于8+2=10
    # 十六进制转二进制:如0x9a:相当于10011010 再转10进制就是 对应
    # 1 1 1 1 1 1 1 1
    # 128 64 32 16 8 4 2 1 10011010=128+16+8+2=154

    # 7. python2和python3的默认字符编码(口述)
    # python2默认字符编码是ASCII
    # python3默认编码是unicode

    # 8. 浮点数转换整形(口述)
    # 把小数点后的数去掉,取整数。

    # 9. 计算"21days"字符串的长度。(口述/编程)
    # print(len('21days'))

    # 10. 元祖,列表,字典有没有长度的限制?(口述)
    # 没有

    # 11. 集合的特性(口述)
    # 确定性:元素必须可以hash。互异性:元素不可相同。无序性。

    # 12. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
    # 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
    # 20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
    # 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,
    # 从键盘输入当月利润I,求应发放奖金总数?(编程)
    # while True:
    # money = input('利润:')
    # if money.isdigit() == True:
    # if int(money) <= 100000:
    # print("奖金为:%s"%(int(money)*10/100))
    # elif int(money) <= 200000:
    # print("奖金为:%s"%(((int(money)-100000)*7.5/100)+100000*10/100))
    # elif int(money) <= 400000:
    # print("奖金为:%s" % (((int(money) - 200000) * 5 / 100)))
    # elif int(money) <= 600000:
    # print("奖金为:%s" % (((int(money) - 400000) * 3/ 100)))
    # elif int(money) <= 1000000:
    # print("奖金为:%s" % (((int(money) - 600000) * 1.5/ 100)))
    # else :
    # print("奖金为:%s" % (((int(money) - 600000) * 1/ 100)))
    # break
    # else:
    # money = input('输入错误,请重新输入:')
  • 相关阅读:
    diary and html 文本颜色编辑,行距和其它编辑总汇
    bash coding to changeNames
    virtualbox ubuntu 网络连接 以及 连接 secureCRT
    linux 学习6 软件包安装
    linux 学习8 权限管理
    vim 使用2 转载 为了打开方便
    ubuntu
    linux 学习15 16 启动管理,备份和恢复
    linux 学习 14 日志管理
    linux 学习 13 系统管理
  • 原文地址:https://www.cnblogs.com/ykugb/p/9101736.html
Copyright © 2011-2022 走看看