深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python。加油!

01:求‘1-100’的偶数和

#第一种解法:
sum=0
num=0
while num<101:
num+=1
if num%2==0:
sum+=num
print(sum) #第二种解法:
sum=0
for i in range(2,101,2):
sum+=i
print(sum) #第三种解法;
sum=0
for i in range(1,101):
if i%2==0:
sum+=i
print(sum)

02:求1-100的奇数,质数

#奇数
sum=0
for i in range(1,101)
if i%2!=0
sum+=i
print(sum) #质数
sum=0
for i in range(2,101):
for j in range(2,i):
if i%j==0:
break
else:
sum+=i
print('1-100之间的质数之和:%d'%sum)

03:写出九九乘法表

for i in  range(1,10):  #把1,2,3,,赋值给i
for j in range(1,i+1):# 在i的基础上给j赋值,比如i=1 j=(1,2)取1 i=2 j=(1,2,3) 取1,2 print(‘&s*%s=%s’%(j,i,j*i),end=' ') end 就是计算每个结尾处加空格 print()

 

04:手动输入一个字符串,打散放进一个列表,小写字母反序,大写字母保持不变

思路:

  1. 将手动传入的字符串用list函数将其打散成为一个列表1
  2. 循环列表1,判断每个元素字母的大小写
  3. 小写:将其追加到一个新列表2中
  4. 大写:记录下其索引及元素值到一个字典中
  5. 循环完成后,将新列表中所有的小写元素反转
  6. 循环遍历字典,将键值对应的添加到列表2中
  7. 循环完成后,输出列表2
1 string = input('请输入一个字符串:')
2 # 将输入的字符串打散到lists列表中
3 lists = list(string)
4 # 创建一个新列表用来存放变换后的数据
5 new_lists = []
6 # 创建一个字典,用来存放大写字母的索引及其对应的值
7 dictionary = {}
8 i = 0
9 while i < len(lists):
10 if 'a' < lists[i] < 'z':
11 # 小写,按照顺序存放到new_lists列表中
12 new_lists.append(lists[i])
13 else:
14 # 大写,将索引及其对应的值存放在dictionary
15 dictionary[i] = lists[i]
16 i += 1
17
18 # 反转列表(小写字母元素)
19 new_lists.reverse()
20 # 循环遍历字典,将键值对应的添加到new_lists列表中
21 for key in dictionary:
22 new_lists.insert(key, dictionary[key])
23
24 print(new_lists)

05:定义一个函数mysort,参数是一个列表,参数列表中都是整数,mysort函数需要将参数列表元素从小到大排序,最终返回一个新的list

思路:
1.创建一个新的列表newlist
2.先找出所有元素中最小的,append在newlist里面
3.再找出剩余所有元素中最小的,append在newlist中
4.依次类推,直到所有元素放到newlist里面
def myshort(inlist):
newlist=[] while len(inlist)>0:
theMin = inlist[0] #记录当前循环最小的元素
minIdx=0 #记录当前最小元素的下标
idx=0 #指向当前元素的下标
for one in inlist:
if theMin>one:
theMin=one
minIdx=idx
idx+=1 inlist.pop(minIdx)
newlist.append(theMin)
return newlist print(myshort([1,3,5,45,67,4,7,34]))

06:li=[1,2,3,4,5,6,7,8,8]组成多少个互不相同且不重复的两位数

li=[1,2,3,4,5,6,7,8,8]
li1=[]
li2=[]
for i in li:
for j in li:
if i!=j:
a='%d%d'%(i,j)
li1.append(a)
for y in li1:
if y not in li2:
li2.append(y)
print(li2)

07:一个冒泡排序

分析:
[9, 2, 3, 5, 1, 2, 8] 列表长度为7
假设是9(即索引0),则最多交换 (7-1)-0 = 6 次
假设是2(即索引1),则最多交换 (7-1)-1 = 5 次
推理:假设索引为index,则最多交换 (列表长度-1-index) 次 def sort(alist):
for i in range(len(alist)):#循环次数
#跳过后面已经排序好的元素
for j in range(len(alist)-1-i):#遍历所有数 根据列表索引位置判断应该交换几次
if alist[j] > alist[j+1]:
alist[j],alist[j+1]= alist[j+1],alist[j]
return alist
a=[12,35,99,19,1]
print(sort(a))

08:

"""
一、定义一个学生Student类。有下面的类属性:
1 姓名 name
2 年龄 age
3 成绩 score(语文,数学,英语) [每课成绩的类型为整数]

类方法:
1 获取学生的姓名:get_name() 返回类型:str
2 获取学生的年龄:get_age() 返回类型:int
3 返回3门科目中最高的分数。get_course() 返回类型:int

写好类以后,可以定义2个同学测试下:
zm = Student('zhangming',20,[69,88,100])
返回结果:
zhangming
20
100
"""

class Student():
#构造函数
#对当前对象的实例的初始化
def __init__(self,name,age,score):
self.name=name
self.age=age
self.score=score
#isinstance函数判断一个对象是否是一个已知的类型,类似type
def get_name(self):
if isinstance(self.name,str):
return self.name
def get_age(self):
if isinstance(self.age,int):
return self.age
def get_course(self):
a=max(self.score)
if isinstance(a,int):
return a zm = Student('zhangming',20,[34,56,67])
print(zm.get_name())
print(zm.get_age())
print(zm.get_course())

09:1、创建员工类Employee,属性有姓名name、能力值ability、年龄age(能力值为100-年龄),功能有doWork(),该方法执行一次,该员工的能力值-5,创建str方法,打印该员工的信息
2、创建老板类Boss,属性有金钱money,员工列表employeeList(存储员工类对象),工作量work,功能有雇佣员工addEmployee(),雇佣后将员工添加至列表中,雇佣一人money减5000,金额不足时不能雇佣新员工;开始工作startWork(),工作开始后,依次取出员工列表中的员工开始工作,员工能力值减少的同时总的工作量work也减少,当工作量work为0时,工作结束,调用endWork(该方法为Boss类方法,打印员工的能力值信息)方法,如果所有员工使用完后,依然没有完成工作,则提示老板需要雇佣新员工,并打印剩余工作量
3、创建Boss类对象,默认执行雇佣3个员工,年龄分别为30,40,50,然后死循环开始工作,直至工作完成。

10:设计一个函数,在指定的文件夹上创建10个文本,以数字给他们取名字

def work():
path='D:/wor'
for name in range(,):
with open(path+str(name)+'.txt','w')as text:
text.write(str(name))
text.close()
print('DOne')
work()

11.摆放家具

需求:
1).房子有户型,总面积和家具名称列表
   新房子没有任何的家具
2).家具有名字和占地面积,其中
   床:占4平米
   衣柜:占2平面
   餐桌:占1.5平米
3).将以上三件家具添加到房子中
4).打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表

class HouseItem:
#初始化方法
def __init__(self,name,area):
self.name=name
self.area=area
def __str__(self):
return '[%s]占地%.2f'%(self.name,self.area) class House:
def __init__(self,house_type,area):
#需求从外界传递进来的参数
self.house_type=house_type
self.area=area
#剩余面积(新房子没有任何家具,剩余面积=总面积)
self.free_area=area
#家具名称列表
self.item_list=[] def __str__(self):
return '户型:%s\n总面积:%.2f[剩余:%.2f]\n家具:%s'%(self.house_type,self.area,
self.free_area,self.item_list) def add_item(self,item):
print('要添加%s'%item) if item.area>self.free_area:
print('%s的面积太大了,无法添加'%item.name)
#如果不满足,下方的代码就不执行了
return
#将家具的名称添加到列表中
self.item_list.append(item.name)
#计算剩余面积
self.free_area-=item.area #.创建家具
bed = HouseItem('bed',)
print(bed)
chest = HouseItem('chest',)
print(chest)
table = HouseItem('table',1.3)
print(table) #创建房子对象
my_home =House('两室一厅',)
#添加家具到房子里面去
my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)
print(my_home)

 

python基础练习题1的更多相关文章

  1. python基础练习题(九九乘法表)

    又把python捡起来了,动手能力偏弱,决定每日一练,把基础打好! ------------------------------------------------------------------ ...

  2. python基础练习题

    购物车程序 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/3/6 21:01 # @Author : hyang # @Si ...

  3. Python基础 练习题

    DAY .1 1.使用while循环输出 1 2 3 4 5 6     8 9 10 n = 1 while n < 11: if n == 7: pass else: print(n) n ...

  4. Python基础练习题100例(Python 3.x)

    1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...

  5. python基础练习题30道

    1.执行python脚本的两种方式 答:1>可以在python /home/xxxx.py 2>cd /home    ./xxxx.py  因为py脚本里面指定了python解释器的位置 ...

  6. 08: python基础练习题

    1.while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 # 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 s = 0 i = ...

  7. 『Python基础练习题』day02

    1.判断下列逻辑语句的True, False 1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 2) ...

  8. Python学习【day03】- Python基础练习题(列表、元组、字典)

    #!/usr/bin/env python # -*- coding:utf8 -*- # 1.有两个列表 # l1 = [11,22,33] # l2 = [22,33,44] # a.获取内容相同 ...

  9. Python学习【day02】- Python基础练习题

    #!/usr/bin/env python # -*- coding:utf8 -*- # 执行Python 脚本的两种方式 # 答:①在windows的cmd窗口下 > D:/Python/p ...

随机推荐

  1. git reset --hard 操作后的数据恢复

    在进行正文之前先简单介绍下git reset 命令 git reset git reset 命令用于改变当前的仓库状态,简单的场景用例:假设一次修改了两个文件,然而需要对这两个文件分别进行两次提交,在 ...

  2. React Native商城项目实战05 - 设置首页的导航条

    1.Home.js /** * 首页 */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Te ...

  3. mysql高水位问题解决办法

    数据库中有些表使用delete删除了一些行后,发现空间并未释放产生原因:类比Oracle的高水位线产生原理 delete 不会释放文件高水位 truncate会释放 ,实际是把.ibd文件删掉了,再建 ...

  4. 2、Shiro的认证

    Shiro的认证流程大体可以参考下面这幅图: 但是没有接触过shiro的同学看到上面的图片也不明白,下面我们来在代码中尝试体验Shiro的认证过程: 1.新建一个SpringBoot项目项目结构如下: ...

  5. EDM营销技巧之如何进行用户唤醒

    一般来说,EDM营销中肯定有些用户就长期不关注我们的邮件.这个时候我们应该如何唤醒用户呢?本文给大家分享一下技巧. 首先,我们要注重电子邮件地址的价值.只有好的新的邮件地址库,才能引起用户足够的关注. ...

  6. 利用Git版本控制管理你的项目

    准备工作 项目创建完成后,将项目版本控制起来,今后每个版本的迭代会非常清楚,同时也有助于项目进行协同开发. 还有一个十分重要的问题是:项目上线后,线上的运行的程序的配置与线下进行测试的配置文件是不一样 ...

  7. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_2 Mybatis的CRUD-保存操作

    增加的方法 修改映射配置 id是方法名 按照原来jdbc的写法 values里面应该是一堆问号,现在这里不能再去写问号了因为要取值 从我们要执行的方法传的参数里面去取值 所以参数的类型我们必须要告诉这 ...

  8. 【MyBatis】----【MyBatis】--封装---别名---properties

    一.核心配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration ...

  9. Matlab——图形绘制——三维立体图形 剔透玲珑球 动态图——彗星状轨迹图

    三维绘图函数 三维绘制工具 函数view 实例:三维螺旋线 >> t=:pi/:*pi; plot3(sin(t),cos(t),t) grid %添加网格  plot3可以画出空间中的曲 ...

  10. 【ABAP系列】SAP ABAP DOI展示EXCEL或WORD

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP DOI展示EX ...