【程序1】

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

num_list=[]
cou=0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j and j!=k and k!=i:
res=i*100+j*10+k
num_list.append(res)
cou+=1
print(num_list,cou)

【程序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,求应发放奖金总数?

#Filename:002.py
i = int(raw_input('Enter the profit:'))
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

【程序3】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

# -*- coding:utf-8 -*-
'''
Created on 2015-6-7
# 第三题:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少
@author: Administrator
Python学习交流QQ群:857662006
'''
import math
num = 1
while True:
if math.sqrt(num + 100)-int(math.sqrt(num + 100)) == 0 and math.sqrt(num + 268)-int(math.sqrt(num + 268)) == 0:
print(num)
break
num += 1

【程序4】

题目:输入某年某月某日,判断这一天是这一年的第几天?

#author: 叛军
import datetime
import time
dtstr = str(input('Enter the datetime:(20151215):'))
dt = datetime.datetime.strptime(dtstr, "%Y%m%d")
another_dtstr =dtstr[:4] +'0101'
another_dt = datetime.datetime.strptime(another_dtstr, "%Y%m%d")
print (int((dt-another_dt).days) + 1)

【程序5】

题目:输出9*9口诀。

for i in range(1,10):
for j in range(1,i+1):
print(i,'*',j,'=',i*j,)
print('')

【程序6】

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

   后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

a = 1
b = 1
for i in range(1,21,2):
print('%d %d'%(a,b),)
a += b
b += a

【程序7】

题目:判断101-200之间有多少个素数,并输出所有素数。

#!/usr/bin/python
#-*- coding:utf-8 -*-
from math import sqrt
def main():
for i in range(101,201):
flag = 1
k = int(sqrt(i))
for j in range(2,k+1):
if i%j == 0:
flag = 0
break
if flag == 1:
print '%5d'%(i), if __name__ == "__main__":
main()

【程序8】

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

for i in range(100,1000):
a = i%10
b =int(i/100)
c = (int(i/10))%10
if i == a**3+b**3+c**3:
print('%d'%i)

【程序9】

题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。

#!/usr/bin/python
#-*- coding:utf-8 -*- def main():
n = int(raw_input('Enter a number:'))
print n,'=',
while(n!=1):
for i in range(2,n+1):
if (n%i)==0:
n/=i
if(n == 1):
print '%d'%(i)
else:
print '%d *'%(i),
break if __name__ == "__main__":
main()

【程序10】

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

#!/usr/bin/python
#-*- coding:utf-8 -*-
def main():
s = int(raw_input('Enter a number:'))
if s>=90:
grade = 'A'
elif s>=60:
grade = 'B'
else:
grade = 'C'
print grade, if __name__ == '__main__':
main()

【程序11】

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#!/usr/bin/python
#-*- coding:utf-8 -*-
#there is no ++ operator in Python
import string
def main():
s = raw_input('input a string:')
letter = 0
space = 0
digit = 0
other = 0
for c in s:
if c.isalpha():
letter+=1
elif c.isspace():
space+=1
elif c.isdigit():
digit+=1
else:
other+=1
print 'There are %d letters,%d spaces,%d digits and %d other characters in your string.'%(letter,space,digit,other) if __name__ == '__main__':
main()

【程序12】

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

def main():
basis = int(input("Input the basis number:"))
n = int(input("Input the longest length of number:"))
b = basis
sum = 0
for i in range(0,n):
if i==n-1:
print "%d "%(basis),
else:
print "%d +"%(basis),
sum+=basis
basis = basis*10+b
print '= %d'%(sum),

【程序13】

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

   找出1000以内的所有完数。

from math import sqrt
n = int(raw_input('input a number:'))
sum = n*-1
k = int(sqrt(n))
for i in range(1,k+1):
if n%i == 0:
sum += n/i
sum += i
if sum == n:
print 'YES'
else:
print 'NO'

【程序14】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

   第10次落地时,共经过多少米?第10次反弹多高?

s = 100.
h = 50.0
for i in range(2,11):
s += 2*h
h /= 2
print "the sum length of path:%f"%s
print "the last height is:%f"%h

【程序15】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

   第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下

   的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

n = 1
for i in range(9,0,-1):
n = (n+1)<<1
print n

【程序16】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定

   比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出

   三队赛手的名单。

for i in range(ord('x'),ord('z') + 1):
for j in range(ord('x'),ord('z') + 1):
if i != j:
for k in range(ord('x'),ord('z') + 1):
if (i != k) and (j != k):
if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):
print 'order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr(j),chr(k))

【程序17】

题目:打印出如下图案(菱形)

   *
***
*****
*******
*****
***
*
for i in range(1,8,2):
print ' '*(4-(i+1)/2)+'*'*i
for i in range(5,0,-2):
print ' '*(4-(i+1)/2)+'*'*i

【程序18】

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

u = 2.0
d = 1.0
s = 0.0
for i in range(0,20):
s = s+u/d
u = u+d
d = u-d
print '%f'%s

【程序19】

题目:求1+2!+3!+...+20!的和

s = 0
t = 1
for i in range(1,21):
t*=i
s+=t
print s

【程序20】

题目:利用递归方法求5!。

def fun(i):
if i==1:
return 1
return i*fun(i-1) print(fun(5))

【程序21】

题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

def output(s,l):
if l==0:
return
print s[l-1]
output(s,l-1) s = raw_input('Input a string:')
l = len(s)
output(s,l)

【程序22】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第

   3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后

   问第一个人,他说是10岁。请问第五个人多大?

def fun(i):
if i==1:
return 10
return fun(i-1)+2 print fun(5)

【程序23】

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

# Python学习交流QQ群:857662006
def fun(i,cnt):
if i==0:
print 'There are %d digit in the number.'%cnt
return
print i%10,
i/=10
cnt+=1
fun(i,cnt) i = int(raw_input('Input a number:'))
fun(i,0)

【程序24】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。   

ans=['Yes','No']
i = int(raw_input('Input a number(10000~99999):'))
if i<10000 or i>99999:
print 'Input Error!'
else:
i = str(i)
flag = 0
for j in range(0,2):
if i[j]!=i[4-j]:
flag = 1
break
print ans[flag]

【程序25】【筛选法】

题目:求100之内的素数   

a = [0]*101
for i in range(2,11):
for j in range(i+i,101,i):
a[j]=-1;
for i in range(2,101):
if a[i]!=-1:
print ' ',i,

【程序26】

题目:对10个数进行排序

print 'input 10 numbers please:'
l = []
for i in range(10):
l.append(int(raw_input('Input a number:')))
#可以直接使用sort函数:l.sort()
#也可以自己写排序代码(选择排序)
for i in range(9):
for j in range(i+1,10):
if l[j]<l[i]:
temp = l[j]
l[j] = l[i]
l[i] = temp
print l

【程序27】

题目:求一个3*3矩阵对角线元素之和

l = []
for i in range(3):
for j in range(3):
l.append(int(raw_input('Input a number:')))
s = 0
for i in range(3):
s += l[3*i+i]
print s

【程序28】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

l = [0,10,20,30,40,50]

print 'The sorted list is:',l
cnt = len(l)
n = int(raw_input('Input a number:'))
l.append(n)
for i in range(cnt):
if n<l[i]:
for j in range(cnt,i,-1):
l[j] = l[j-1]
l[i] = n
break
print 'The new sorted list is:',l

【程序29】

题目:将一个数组逆序输出。

a = [1,2,3,4,5,6,7,8,9]
l = len(a)
print a
for i in range(l/2):
a[i],a[l-i-1] = a[l-i-1],a[i] #注意此句
print a

【程序30】

题目:学习static定义静态变量的用法   

题目:学习使用auto定义变量的用法

题目:学习使用external的用法

题目:学习使用register定义变量的方法

题目:宏#define命令练习

#Python没有这些功能
'''
演示lambda的使用。
'''
MAXIMUM = lambda x,y : (x > y) * x + (x < y) * y
MINIMUM = lambda x,y : (x > y) * y + (x < y) * x if __name__ == '__main__':
a = 10
b = 20
print 'The largar one is %d' % MAXIMUM(a,b)
print 'The lower one is %d' % MINIMUM(a,b)

【程序31】

题目:学习使用按位与 & 。   

程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1

题目:学习使用按位或 | 。

程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1 

题目:学习使用按位异或 ^ 。   

程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0

题目:学习使用按位取反~。   

程序分析:~0=1; ~1=0

a = 077#8进制
b = a&3
print '077&3=%d'%b
b&=7
print '077&3&7=%d'%b a = 077
b = a | 3
print '077|3=%d' % b
b |= 7
print '077|3|7=%d' % b a = 077
b = a ^ 3
print '077^3=%d' % b
b ^= 7
print '077^3^7=%d' % b

【程序32】

题目:取一个整数a从右端开始的4~7位。

a = 100
print 100&0x00F0

【程序33】

题目:画圆【Tkinter模块】

if __name__ == '__main__':
from Tkinter import * canvas = Canvas(width=800, height=600, bg='red')
canvas.pack(expand=YES, fill=BOTH)
k = 1
j = 1
for i in range(0,26):
canvas.create_oval(310 - k,250 - k,310 + k,250 + k, width=1)
k += j
j += 0.3 mainloop()

【程序34】

题目:画直线。

1.程序分析:           

2.程序源代码:

if __name__ == '__main__':
from Tkinter import * canvas = Canvas(width=300, height=300, bg='green')
canvas.pack(expand=YES, fill=BOTH)
x0 = 263
y0 = 263
y1 = 275
x1 = 275
for i in range(19):
canvas.create_line(x0,y0,x0,y1, width=1, fill='red')
x0 = x0 - 5
y0 = y0 - 5
x1 = x1 + 5
y1 = y1 + 5 x0 = 263
y1 = 275
y0 = 263
for i in range(21):
canvas.create_line(x0,y0,x0,y1,fill = 'red')
x0 += 5
y0 += 5
y1 += 5 mainloop()

【程序35】

题目:画方形。   

if __name__ == '__main__':
from Tkinter import *
root = Tk()
root.title('Canvas')
canvas = Canvas(root,width = 400,height = 400,bg = 'yellow')
x0 = 263
y0 = 263
y1 = 275
x1 = 275
for i in range(19):
canvas.create_rectangle(x0,y0,x1,y1)
x0 -= 5
y0 -= 5
x1 += 5
y1 += 5 canvas.pack()
root.mainloop()

【程序36】

题目:画图,综合例子。

1.程序分析:

2.程序源代码:

if __name__  == '__main__':
from Tkinter import *
canvas = Canvas(width = 300,height = 300,bg = 'green')
canvas.pack(expand = YES,fill = BOTH)
x0 = 150
y0 = 100
canvas.create_oval(x0 - 10,y0 - 10,x0 + 10,y0 + 10)
canvas.create_oval(x0 - 20,y0 - 20,x0 + 20,y0 + 20)
canvas.create_oval(x0 - 50,y0 - 50,x0 + 50,y0 + 50)
import math
B = 0.809
for i in range(16):
a = 2 * math.pi / 16 * i
x = math.ceil(x0 + 48 * math.cos(a))
y = math.ceil(y0 + 48 * math.sin(a) * B)
canvas.create_line(x0,y0,x,y,fill = 'red')
canvas.create_oval(x0 - 60,y0 - 60,x0 + 60,y0 + 60) for k in range(501):
for i in range(17):
a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k
x = math.ceil(x0 + 48 * math.cos(a))
y = math.ceil(y0 + 48 + math.sin(a) * B)
canvas.create_line(x0,y0,x,y,fill = 'red')
for j in range(51):
a = (2 * math.pi / 16) * i + (2* math.pi / 180) * k - 1
x = math.ceil(x0 + 48 * math.cos(a))
y = math.ceil(y0 + 48 * math.sin(a) * B)
canvas.create_line(x0,y0,x,y,fill = 'red')
mainloop()

Python入门36道经典练习题的更多相关文章

  1. [ZZ]知名互联网公司Python的16道经典面试题及答案

    知名互联网公司Python的16道经典面试题及答案 https://mp.weixin.qq.com/s/To0kYQk6ivYL1Lr8aGlEUw 知名互联网公司Python的16道经典面试题及答 ...

  2. Python 入门必学经典知识点笔记【肯定有你不知道的】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:实验楼 Python 作为近几年越来越流行的语言,吸引了大量的学员开始学 ...

  3. 【二】刚学Python的几道简单练习题

    python交友娱乐会所:613176398 1.使用while循环输入 1 2 3 4 5 6     8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 4.输出 1- ...

  4. Java50道经典习题-程序50 文件IO

    题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中. impo ...

  5. python入门经典_好资源送不停

    Python入门经典(2K超清_送书) https://study.163.com/course/courseMain.htm?courseId=1006183019&share=2& ...

  6. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  7. [转][RabbitMQ+Python入门经典] 兔子和兔子窝

    [转][RabbitMQ+Python入门经典] 兔子和兔子窝 http://blog.csdn.net/linvo/article/details/5750987 RabbitMQ作为一个工业级的消 ...

  8. Python入门经典. 以解决计算问题为导向的Python编程实践

    Python入门经典. 以解决计算问题为导向的Python编程实践(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1juLsew8UiOErRheQPOuTaw 提取 ...

  9. Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    Python经典练习题 网上能够搜得到的答案为: for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) ...

随机推荐

  1. 传统jdbc存在的问题总结

    1.数据库连接创建.释放频繁造成系统资源浪费,影响系统性能,可使用数据库连接池解决此问题. 2.sql语句中在代码中硬编码,代码不易维护,sql变动需要改变java代码. 3.使用preparedSt ...

  2. 【带着canvas去流浪(9)】粒子动画

    目录 一. 粒子特效 二. 开发中遇到的问题 2.1 卡顿 2.2 轨迹 2.3 复位 2.4 防护层 2.5 二维向量类 三. 实现讲解 3.1 粒子类的update方法 3.2 粒子群的绘制 3. ...

  3. ASP.NET MVC教程一:ASP.NET MVC简介

    一.MVC模式简介 MVC模式是一种流行的Web应用架构技术,它被命名为模型-视图-控制器(Model-View-Controller).在分离应用程序内部的关注点方面,MVC是一种强大而简洁的方式, ...

  4. html文本框默认值刷新后无法继续显示解决方法

    转载于:https://blog.csdn.net/yufeitong/article/details/8485129 有这种情况,文本框输入值后,再次刷新默认值就无法显示了 原始html代码: &l ...

  5. ThinkPHP5.x.x各版本实战环境getshell

    #这个文章我之前在t00ls已经分享过了 #内容只是对tp5的实战环境下getshell做的记录,中间遇到的一些小问题的突破,没啥技术含量 -5.1.18 http://www.xxxxx.com/? ...

  6. 【实习第一天】odoo开发基础(一)

    管理权限 在项目中,有个security文件夹,其中的ir.model.access文件后面带4个参数.分别代表着读,写,创建,删除的操作 想要开启权限需要将其参数调成为1,反之为0.倘若不调整参数, ...

  7. 从系统学Android--2.5Activity启动模式

    本系列文章目录:更多精品文章分类 本系列持续更新中.... Activity 的启动模式一共有四种,分别是:standard.singleTop.singleTask.singleInstance . ...

  8. iOS常用算法之两个有序数组合并, 要求时间复杂度为0(n)

    思路: 常规思路: 先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素, 一一对比, 直到找到合适的, 就插入进去; 简单思路: 设置数组C, 对比A和B数组的首项元素, 找到最小的, 就放 ...

  9. ABP入门教程2 - 体系架构

    点这里进入ABP入门教程目录 介绍 应用程序代码库的分层是一种广泛接受的技术,可帮助降低复杂性并提高代码可重用性.为了实现分层体系结构,ASP.NET Boilerplate遵循域驱动设计的原理. D ...

  10. springboot进入html

    话不多说,转载 https://blog.csdn.net/sinat_33889619/article/details/78339042 这个博客写的真好