【程序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. 批量群发,营销必备!Python代码实现自动发送邮件!

    在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使用 Python 封装发送邮件代码的. 一般发邮件方法 SMTP是发送邮件的协议, ...

  2. php获取本机ip

    最近在写个东西时,需要获取本机的IP,但是由于php本身不带这样的功能,在网上找了好久也没有一个好办法,突然想到一个好办法,如下代码 <?=gethostbyname($_ENV['COMPUT ...

  3. Python 爬虫从入门到进阶之路(二)

    上一篇文章我们对爬虫有了一个初步认识,本篇文章我们开始学习 Python 爬虫实例. 在 Python 中有很多库可以用来抓取网页,其中内置了 urllib 模块,该模块就能实现我们基本的网页爬取. ...

  4. Java入门系列之类继承、抽象类、接口(五)

    前言 C#和Java关于类.抽象类.接口使用方式基本相似,只是对应关键字使用不同罢了,本节呢,我们只是对照C#和Java中关于这三个概念在具体使用时,看看有哪些不一样的地方. 类继承 C#和Java在 ...

  5. Java面试,如何在短时间内做突击

    面试前很有必要针对性的多刷题,大部分童鞋实战能力强,理论不行,面试前不做准备很吃亏.这里整理了很多常考面试题,希望对你有帮助.   面试技术文 Java岗 面试考点精讲(基础篇01期) Java岗 面 ...

  6. C# - VS2019 DataGridView导出到Excel的三种方法

    //原文出处:http://www.yongfa365.com/Item/DataGridViewToExcel.html 1 #region DataGridView数据显示到Excel /// & ...

  7. .net core 拦截器的使用

    .net core 拦截器的使用 实例代码:https://gitee.com/D_C_L/InterceptorTest.git 拦截器主要是将程序中的一些可以独立出去的模块进行拦截,比如幕等性,和 ...

  8. Inherit from the Business Class Library Class 继承自Business类(EF)

    In this lesson, you will learn how to implement business classes for your application using the Busi ...

  9. 高强度学习训练第十六天总结: Spring框架中的设计模式

    仔细想了想..没必要重复造轮子. 每天复习啥了就直接CTRL CV了 https://gitee.com/SnailClimb/JavaGuide/blob/master/docs/system-de ...

  10. Cesium专栏-克里金插值(全国温度为例,附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...