Python 基础练习
今天接触了python,了解了一下 python 的基础语法,于是想着手训练一下,在本习题集中,参考代码为提供的参考答案,前面的代码为自己思考的代码,最后每道题给出练习的时间。
Python 基础练习题1
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
代码
def printNum():sum = 0for i in range(1,5):for j in range(1,5):for k in range(1,5):if i==j or i == k or j == k:continueelse:sum += 1print i,j,kprint "sum:",sum,"line"printNum()
运行结果
1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2
sum: 24 line
参考代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-for i in range(1,5):for j in range(1,5):for k in range(1,5):if( i != k ) and (i != j) and (j != k):print i,j,k
用时: 44min
Python 基础练习题2
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-def countBonus():profit = int(raw_input('请输入利润(万):')) #这里要定义为intif profit <= 10:bonus = profit * 0.1elif profit > 10 and profit <= 20:bonus = 10 * 0.1 + (profit-10) * 0.075elif profit > 20 and profit <= 40:bonus = 10 * 0.1 + 10 * 0.075 + (profit-20)*0.05elif profit > 40 and profit <= 60:bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (profit-40) * 0.03elif profit > 60 and profit <= 100:bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (profit - 60) * 0.015elif profit > 100:bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (profit-100)*0.01print "奖金(万)为:",bonuscountBonus()
运行结果
请输入利润(万):12
奖金(万)为: 1.15
参考代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-i = int(raw_input('净利润:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):if i>arr[idx]:r+=(i-arr[idx])*rat[idx]print (i-arr[idx])*rat[idx]i=arr[idx]
print r
用时: 20min
Python 基础练习题3
题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?
代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-import math
def calculate():for i in range(1,10001):getNum1 = math.sqrt(i+100)getNum2 = math.sqrt(i+268)if getNum1 % int(getNum1) == 0 and getNum2 % int(getNum2) == 0:print icalculate()
运行结果
21
261
1581
参考代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-import math
for i in range(10000):#转化为整型值x = int(math.sqrt(i + 100))y = int(math.sqrt(i + 268))if(x * x == i + 100) and (y * y == i + 268):print i
用时: 16min
Python 基础练习题4
题目:输入某年某月某日,判断这一天是这一年的第几天
代码
#!usr/bin/python
# -*- coding: UTF-8 -*-#闰年
leapYear = [31,29,31,30,31,30,31,31,30,31,30,31]
# 普通年
commonYear = [31,28,31,30,31,30,31,31,30,31,30,31]def countDay():getDate = raw_input("请输入年月日(XXXX.XX.XX 例如:2016.10.30):")date = getDate.split(".")# 分别获得年月日year = int(date[0])month = int(date[1])day = int(date[2])sum = 0if (year % 100 == 0 and year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):# 闰年for i in range(1,month):sum += leapYear[i]sum += dayelse:for i in range(1,month):sum += commonYear[i]sum += dayprint "该日期为该年份的第:",sum,"天"while 1:countDay()ifExit = raw_input("是否退出?(Y/N):")if ifExit == "Y" or ifExit == "y":break
运行结果
请输入年月日(XXXX.XX.XX 例如:2016.10.30):2016.10.03
该日期为该年份的第: 277 天
是否退出?(Y/N):n
请输入年月日(XXXX.XX.XX 例如:2016.10.30):2000.8.7
该日期为该年份的第: 220 天
是否退出?(Y/N):n
请输入年月日(XXXX.XX.XX 例如:2016.10.30):1900.3.2
该日期为该年份的第: 61 天
是否退出?(Y/N):y
参考代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-year = int(raw_input('year:\n'))
month = int(raw_input('month:\n'))
day = int(raw_input('day:\n'))months = (0,31,59,90,120,151,181,212,243,273,304,334)
if 0 < month <= 12:sum = months[month - 1]
else:print 'data error'
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):leap = 1
if (leap == 1) and (month > 2):sum += 1
print 'it is the %dth day.' % sum
用时: 27min
Python 基础练习题5
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
代码
#!usr/bin/python
# -*- coding: UTF-8 -*-def demoFunction():getNum = raw_input("请输入三个数字(用英文符号 , 隔开):")num = getNum.split(",")num1 = int(num[0])num2 = int(num[1])num3 = int(num[2])if num1>num2:temp = num2num2 = num1num1 = tempif num1>num3:temp = num3num3 = num1num1 = tempif num2 > num3:temp = num3num3 = num2num2 = tempprint num1,num2,num3demoFunction()
运行结果
请输入三个数字(用英文符号 , 隔开):3,7,1
1 3 7
代码优化
#! usr/bin/python
# -*- coding: UTF-8 -*-def demoFunction():getNum = raw_input("请输入三个数字(用英文符号 , 隔开):")num = getNum.split(",")num1 = int(num[0])num2 = int(num[1])num3 = int(num[2])if num1>num2:num1,num2 = num2,num1if num1>num3:num1,num3 = num3,num1if num2 > num3:num2,num3 = num3,num2print num1,num2,num3demoFunction()
参考代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-l = []
for i in range(3):x = int(raw_input('integer:\n'))l.append(x)
l.sort()
print l
用时: 10min
Python 基础练习题6
题目:斐波那契数列。
代码
#! usr/bin/python
# -*- coding: UTF-8 -*-# 斐波那契数列
def Fibonacci(num):if num == 1:print "0"elif num == 2:print "1"else:fib = [0,1]for i in range(2, num):fib.append(int(fib[i-1]) + int(fib[i-2]))print fibnum = int(raw_input("请输入斐波那契数列的位数:"))
Fibonacci(num)
运行结果
请输入斐波那契数列的位数:10
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
参考代码
方法一
#!/usr/bin/python
# -*- coding: UTF-8 -*-def fib(n):a,b = 1,1for i in range(n-1):a,b = b,a+breturn a# 输出了第10个斐波那契数列
print fib(10)
方法二
#!/usr/bin/python
# -*- coding: UTF-8 -*-# 使用递归
def fib(n):if n==1 or n==2:return 1return fib(n-1)+fib(n-2)# 输出了第10个斐波那契数列
print fib(10)
方法三
#!/usr/bin/python
# -*- coding: UTF-8 -*-def fib(n):if n == 1:return [1]if n == 2:return [1, 1]fibs = [1, 1]for i in range(2, n):fibs.append(fibs[-1] + fibs[-2])return fibs# 输出前 10 个斐波那契数列
print fib(10)
用时: 12min
Python 基础练习题7
题目:将一个列表的数据复制到另一个列表中。
参考代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-a = [1, 2, 3]
b = a[:]
print b
运行结果
[1,2,3]
用时: 0min
Python 基础练习题8
题目:输出9x9乘法口诀表
代码
#! usr/bin/python
# -*- coding: UTF-8 -*-for i in range(1,10):for j in range(i,10):print i,"*",j,"=",i*jprint ""
运行结果
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 92 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 183 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 274 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 365 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 456 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 547 * 7 = 49
7 * 8 = 56
7 * 9 = 638 * 8 = 64
8 * 9 = 729 * 9 = 81
用时: 4min
Python 基础练习题9
题目:暂停一秒输出。
代码1
#! usr/bin/python
# -*- coding: UTF-8 -*-import timefor i in range(5):time.sleep(1)print i
运行结果
0
1
2
3
4
代码2
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import timeprint time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))# 暂停一秒
time.sleep(1)print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
运行结果
2016-11-03 11:18:10
2016-11-03 11:18:11
用时: 2min
转载于:https://www.cnblogs.com/hlwyfeng/p/6011275.html
Python 基础练习相关推荐
- f是一个python内部变量类型,Python基础变量类型——List浅析
Python使用list 一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示 ...
- python 等号报错_Python学习----Python基础
Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...
- python基础——继承与派生、组合
python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...
- Python学习笔记1 Python基础
第1章 Python基础 1.1 Python概述及版本介绍 1.Python是一种面向对象的解释型计算机程序设计语言(解释型语言源代码->解释器逐行解释每一句源代码) 2.优点:高级语言.可移 ...
- python基础---元组、字典、函数、文件、异常
文章目录 python基础---元组.字典.函数.文件.异常 Tuple(元组) 常用操作 dict(字典) 函数 文件 异常 python基础-元组.字典.函数.文件.异常 Tuple(元组) tu ...
- 快速掌握Python的捷径-Python基础前传(1)
文: jacky(朱元禄) 开文序 最近看新闻,发现高考都考Python了,随着人工智能的火热,学数据科学的人越来越多了!但对于数据行业本身来说,现象级的火热,这并不是什么好事. 方丈高楼平地起,无 ...
- Python培训教程之Python基础知识点梳理
Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...
- python基础04
python基础04 python2在编译安装时,可以通过参数 -----enable----unicode=ucs2 或 -----enable--unicode=ucs4 分别用于指定使用2个字节 ...
- 刻意练习:Python基础 -- Task12. 模块
背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...
- 刻意练习:Python基础 -- Task11. 魔法方法
背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...
最新文章
- linux系统调用(syscall)原理
- 怎么让手机变成震动器_手机厂商都在说的线性马达,到底是个什么东西?
- 【SpringBoot】开启热部署(jsp 页面热部署、devtools 全局热部署)
- PSP1000/2000/3000 PSPgo全主机介绍(2)
- Python金融数据挖掘 第11章 复习思考题2 (聚类)选取中华人民共和国第六次人口普查的各地区人口数以及男女比例进行K-Means聚类分析。
- Hacking Diablo II之D2HACKIT技术详解
- 判断用户端有无安装flash插件并返回对应播放器选项提示
- pytorch搭建分类网络并进行训练和测试
- Vue组件化|通用组件开发——Notification通知组件
- 【ProcessOn】在线流程图、思维导图、原型图、UML图制作工具ProcessOn使用
- python 实现日期计算器
- 扩散模型又杀疯了!这一次被攻占的领域是...
- 授人以鱼不如授人以渔——和女儿学一起学成语
- 爬虫Scrapy框架学习(五)-东莞阳光热线问政平台爬取案例
- 记一次fastadmin图片上传大小受限制的修改
- Spark学习-入门介绍
- ARM芯片的时钟系统详解(S5PV210芯片)
- 小米5怎么安android,小米5怎么插卡 小米5手机安装sim卡图文教程
- 生产环境WEB服务管理脚本之监控脚本
- 宽带拨号任何使用计算机,宽带拨号密码怎么查看【图解】
热门文章
- 简单易懂的 pwnable.kr 第一题[fd]Writeupt
- 定期定量采购_定量采购方式
- Android-NDK-EGL
- c++11=default,=delete
- 一般纳米材料是指尺度为_纳米材料及纳米材料在高分子领域的应用
- 天线端口和参考信号支持的多端口
- 在Windows XP系统登录Active Directory域
- spingmvc-参数传递
- 理解 neutron(15):Neutron Linux Bridge + VLAN/VXLAN 虚拟网络
- 最简单jquery轮播图效果