#-*- coding:utf-8 -*-
#什么是编译,什么叫解释?
#答;编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件;
# 解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行
#除了Python语言,你还能举出其他的格式相关性语言的例子吗?
#答:C++ 和 Java
#举例说明在赋值语言方面,和C语言相比,Python语言的有哪些额外的功能?
#答:C 语言是变量(也即内存地址)之间的交互,Python 是对象(数据)之间的交互
# Python 把一切数据都看成「对象」。它为每一个对象分配一个内存空间。 一个对象被创建后,它的 id 就不再发生变化。
#如何确定一个变量的类型?答:用type()函数来确定
i = 10
print(type(i))
#列出变量的主要类型。
#答:整型,浮点型,字符串,布尔型,列表,元组,字典,集合,None
#如何将一个字符串变量转换成数值变量?
# 答;在前面加int
#列出条件为假的情况
a = 97
b = 50
if a<b:
print(a<b)
else:
print(a<b)
#用三目运算符实现下述功能:90分及其以上的都为“优秀”;90分以下的都为“合格”。
def compare(num):
for item in num:
st = "优秀" if (item>90) else "合格"
print(st)
num = [70,80,90,99,95,96]
compare(num)
'''
实现一个计算器
基本功能:加、减、乘、除
提高功能:幂、余数
提高功能:如何排除除0的情况
'''
# 定义函数
def add(x, y):
#相加
return x + y
def subtract(x, y):
#相减
return x - y
def multiply(x, y):
#相乘
return x * y
def divide(x, y):
#相除
return float(x / y)
# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
print("5、幂次")
print("6、取余")
choice = str(input("输入你的选择(1/2/3/4/5/6):"))
num1 = float(input("输入第一个数字: "))
num2 = float(input("输入第二个数字: "))
if choice == '1':
print(num1, "+", num2, "=", add(num1, num2))
elif choice == '2':
print(num1, "-", num2, "=", subtract(num1, num2))
elif choice == '3':
print(num1, "*", num2, "=", multiply(num1, num2))
elif choice == '4':
if num2 == 0:
print("除数为0,输入错误!!")
else:
print(num1, "/", num2, "=", divide(num1, num2))
elif choice == '5':
print(num1,"^",num2, "=%s"%(pow(num1,num2)))
elif choice == '6':
if num2 == 0:
print("除数为0,输入错误!!")
else:
print(num1,"%",num2, "=%s"%(num1%num2))
else:
print("非法输入")
#复数如何表示?如何运算?
'''''
复数是由一个实数和一个虚数组合构成,表示为:x+yj
一个负数时一对有序浮点数(x,y),其中x是实数部分,y是虚数部分。
Python语言中有关负数的概念:
1、虚数不能单独存在,它们总是和一个值为0.0的实数部分一起构成一个复数
2、复数由实数部分和虚数部分构成
3、表示虚数的语法:real+imagej
4、实数部分和虚数部分都是浮点数
5、虚数部分必须有后缀j或J
'''
class Complex:
def __init__(self, real, virtual):
self.real = real
self.virtual = virtual
def __add__(self, other):
return Complex(self.real + other.real, self.virtual + other.virtual)
def __sub__(self, other):
return Complex(self.real - other.real, self.virtual - other.virtual)
def __mul__(self, other):
return Complex(self.real * other.real - self.virtual * other.virtual,
self.real * other.virtual + other.real * self.virtual)
if __name__ == '__main__':
while True:
print("===输入第一个复数===")
a = int(input("实部:"))
b = int(input("虚部:"))
print("===输入第二个复数===")
c = int(input("实部:"))
d = int(input("虚部:"))
c1 = Complex(a, b)
c2 = Complex(c, d)
print("===希望执行的运算===")
sign = int(input("加法(0);减法(1);退出(4):"))
if sign == 0:
print('相加的结果:%s'%( c1 + c2))
elif sign == 1:
print('相减的结果为:%s'%(c1 - c2))
print("=" * 20)
else:
break
#列表中元素类型都必须一致吗 答:不是必须一致
list1 = [1,2,'sunck','good']
print(list1)
#列表可以放入列表吗 答:可以
list1.append([3,4])
print(list1)
#list的extend方法和+的区别 答:+改变了列表的id;extend方法没有改变列表id
list2 = ['my','name']
list3 = list1+list2
print(id(list1))
print(id(list3))
list1.extend(list2)
print(id(list1))
#*号可以应用于列表吗 答:可以,表示重复
print(list1*2)
#sequence中的index(索引)可以是负数吗? 答:可以
print(list1[-1])
#如何定义只有一个元素的元组?答:在元素后面加 ,
tuiple = (1,)
print(type(tuiple))
#字典的读取有两种形式,一种是直接读取,一种是通过get方法读取,两种方式有什么区别?
#答:如果当前key值存在,两者没有区别;但是当key值不存在时,get会返回一个None,而
#直接获取会报错
disc = {'name':'zt',
'age':'100'
}
print(disc['name'],disc.get('name'))
print(disc.get('class'))
# print(disc['class'])
#给定初值、差和长度,输出等差数列
s = []
for i in range(2,9,2):
s.append(i)
print(s)
#查找列表中的某一特定值,输出其位置
p = s.index(4)
print(p)
#把列表中的所有数据都加起来
ssum = sum(s)
print(ssum)
#求列表中最大或最小值
maxi = max(s)
mini = min(s)
print("max= %d"%(maxi),"min=%d"%mini)
#把列表中的偶数都挑出来
for i in range(11,15):
s.append(i)
oushu = []
for item in s:
if item%2 == 0:
oushu.append(item)
print(oushu)
#反转列表
s = s[::-1]
print(s)
#把列表中素数挑出来*
sushu = []
for item in s:
if item%2 != 0:
sushu.append(item)
print(sushu)
#排序列表* sort函数默认为升序
s.sort()
print(s)
#举例集合运算:交集、并集、差集、对称差
setA={1,2,3,4}
setB={3,4,5,6}
print(setA-setB) # - 取差集
print(setB-setA) # - 取差集
print(setA&setB) # & 取交集
print(setA|setB) # | 取并集
print(setA^setB) # ^ 对称差集
#举例集合运算:属于,包含
list_1 = [1,3,7,6,4,8,9]
#子集:3是1的子集
list_3 = set([1,3,7])
print(list_3.issubset(list_1))
if list_3.issubset(list_1):
print("list_3属于list_1")
#集合方法remove和discard的区别?
#答:discard相对于remove方法的好处是,如果你试图删除一个集合中不存在的值,系统不会返回「KeyError」。
print(setA.discard(51))
# print(setA.remove(66))
#有一个列表,其元素都是整数,如何对其进行倒排序?
#方法一
ss = [1,5,6,7,3,4]
ss.sort(reverse=True)
print(ss)
#反序
ss.reverse()
print(ss)
#sorted
sss = sorted(ss)
print(sss)
#举例说明如何使用slice技术部分完成序列的修改、删除、插入
# 替换多个元素
alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
alist[0:3] = ['a','b','c']
print(alist)
# 删除切片
alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del alist[3:6]
print(alist)
#插入 在某个位置插入多个元素
alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
alist[3:3] = ['a','b','c']
print(alist)
#举例说明如何使用enumerate和zip函数
#答:enumerate函数可以同时返回列表或元组等可迭代对象的下标和内容
seq=[1,2,'3','hello world']
#使用enumerate函数迭代seq
for i,element in enumerate(seq):
print i,element
#答:zip函数可以接受一系列的可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),
# 然后由这些tuple(元组)组成一个list(列表),故其返回值为list(列表)
a=[1,2,3,4,5]
b=['a','b','c','d']
c=zip(a)
print type(c)
print c
c=zip(a,b)
print c
#举例说明如何使用filter和map函数
#答:filter 是通过生成 True 和 False 组成的迭代器将可迭代对象中不符合条件的元素过滤掉;
# 而 map 返回的则是 True 和 False 组成。
res1 = map(lambda n: n > 5, range(10))
lt1 = list(res1)
print(lt1)
res2 = filter(lambda n: n > 5, range(10))
lt = list(res2)
print(lt)
python 列表 字典 元组
最新推荐文章于 2022-08-29 16:59:38 发布