1,生成一组8位随机数,要求字符串的各元素组成为[1-9A-Za-z]
#coding=utf8
__author__ = "Marlon"
import random
if __name__ == '__main__':
for i in range(10):
aa = random.sample('1234567890abcdefghijklmnopqrstuvwxyz',8)
print (''.join(aa))
2-1,根据下面的题设,创建类的实例化对象
'''
1,完成下列功能:
1.1创建一个人类Person,再类中创建3个静态变量(静态字段)
animal = '高级动物'
soup = '有灵魂'
language = '语言'
1.2在类中定义三个方法,吃饭,睡觉,工作.
1.3在此类中的__init__方法中,给对象封装5个属性:国家,姓名,性别,年龄, 身高.
1.4实例化四个人类对象:
第一个人类对象p1属性为:中国,alex,未知,42,175.
第二个人类对象p2属性为:美国,武大,男,35,160.
第三个人类对象p3属性为:你自己定义.
第四个人类对象p4属性为:p1的国籍,p2的名字,p3的性别,p2的年龄,p3 的身高.
1.5 通过p1对象执行吃饭方法,方法里面打印:alex在吃饭.
1.6 通过p2对象执行吃饭方法,方法里面打印:武大在吃饭.
1.7 通过p3对象执行吃饭方法,方法里面打印:(p3对象自己的名字)在吃饭.
1.8 通过p1对象找到Person的静态变量 animal
1.9 通过p2对象找到Person的静态变量 soul
2.0 通过p3对象找到Person的静态变量 language
'''
class Person(object):
animal = "高级动物"
soul = "有灵魂"
language = "语言"
def __init__(self,nation,name,gender,age,height):
self.nation = nation
self.name = name
self.gender = gender
self.age = age
self.height = height
pass
def eat(self):
print(self.name + ('在吃饭') )
def sleep(self):
pass
def work(self):
pass
p1 = Person('中国', 'alex', '未知', 42, 175)
p2 = Person('美国', '武大', '男', 35, 160)
p3 = Person('China','Marlon','man', 24,163)
p4 = Person('中国','武大', 'man', 35, 163)
# 执行脚本
p1.eat()
p2.eat()
p3.eat()
print(p1.animal)
print(p2.soul)
print(p3.language)
2-2,根据下面的题设,创建类的实例化对象
'''
2,通过自己创建类,实例化对象
在终端输出如下信息
小明,10岁,男,上山去砍柴
小明,10岁,男,开车去东北
小明,10岁,男,最爱大保健
老李,90岁,男,上山去砍柴
老李,90岁,男,开车去东北
老李,90岁,男,最爱大保健
'''
class myPerson(object):
soul = "有灵魂"
def __init__(self, name, age, gender ):
self.name = name
self.age = age
self.gender = gender
def chop_wood(self):
print('{0},{1},{2}'.format(self.name,self.age,self.gender) + ',上山去砍柴')
def drive_car(self):
print('{0},{1},{2}'.format(self.name, self.age, self.gender) +
',开车去东北')
def eat_food(self):
print('{0},{1},{2}'.format(self.name, self.age, self.gender) +
',最爱大保健')
p1 = myPerson('小明','10岁','男')
p1.chop_wood()
p1.drive_car()
p1.eat_food()
3,根据用户名长度给列表元素排序
"""
根据用户名长度给列表元素排序
names = ['Socrates', 'Archimedes', 'Plato', 'Aristotle']
"""
func = lambda x: len(x)
names = ['Socrates', 'Archimedes', 'Plato', 'Aristotle']
names.sort(key= func)
print(names)
4,定义1个类,既执行基类的方法,又执行子类的方法
#既要执行父类的实例化方法,又要执行子类的实例化方法
class Animal:
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
def eat(self,a1):
print('%s吃%s' % (self.name,a1))
def drink(self):
print('%s喝东西' % (self.name))
class Brid(Animal):
def __init__(self, name,sex,age,wing): # self b1对象 name '鹦鹉',sex '公',age 20, wing '绿翅膀'
'''
self=b1对象
name='鹦鹉'
sex='公'
age= 20,
wing='绿翅膀'
'''
super().__init__(name,sex,age) # super(Brid,self).__init__(name,sex,age)
self.wing = wing
def bark (self):
print('嗷嗷叫')
def eat(self,argv):
super().eat(argv)
print('鸟吃虫子...')
b1 = Brid('鹦鹉','公',20,'绿翅膀')
print(b1.__dict__)
b1.eat('零食')
5,使用python中的列表和for循环计算“斐波那契数列”的前10项。(斐波那契数列是一种数列,其中每个数都是前两个数的和)
基本
fibs = [0, 1]
for i in range(8):
fibs.append(fibs[-2]+fibs[-1])
print(fibs)
高级
num = input('How many number do you want? ')
num = int(num)
def fibs(num):
result = [0, 1]
for i in range(num-2):
fibs.append(result[-2]+result[-1])
print(result)
return result
fibs(num)
6,假设你要计算幂,就像运算符**所做的那样。定义: power(x, n)( x的n次幂)是将数
字x自乘n - 1次的结果,即将n个x相乘的结果。
def power(x, n):
result = 1
for i in range(n):
result *= x
return result
递归
def power(x, n):
if n == 0:
return 1
else:
return x * power(x, n - 1)
7, 写一个小程序,检测用户在终端的输入名字,然后打印输出:Hello,xxx ,之后退出程序。
name = ''
while not name:
name = input('Please enter your name: ')
print('Hello,{a}'.format(a = name ))
8, 写出1个小程序,打印数字1~100 ,要求使用for循环。
for number in range(1, 101):
print(number)
9, 给定2个list列表,将它们的元素拼接打印输入格式如:anne is 12 years old
names = ['anne', 'beth', 'george','damon']
ages = [12, 45, 32, 102]
'''
一个很有用的并行迭代工具是内置函数zip, 它将两个序列“缝合”起来,
并返回一个由元组组成的序列,可使用list() 将其转换为列表。
'''
# “缝合”后,可在循环中将元组解包。
for name,age in zip(names,ages):
print(name, 'is', age, 'years old')