您的位置:首页 > 编程语言 > Python开发

python 新手练习题

2017-01-11 15:52 281 查看

以下练习为Python3环境下运行:

1、一个整数加上100和268后都是一个完全平方数,请问该数是多少

#!/usr/bin/python
# -*- coding:utf-8 -*-

import math
for i in range(10001):
x = int(math.sqrt(i + 100))
y = int(math.sqrt(i + 268))
if (( x * x == i + 100) and ( y * y == i + 268)):
print (i)

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

#!/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)

3、输入某年某月某日,判断这一天是这一年的第几天

print("请输入您要计算的日期:")
year = int(input('年:'))
month = int(input('月:'))
day = int(input('日:'))

months = [0,31,59,90,120,151,181,212,243,273,304,334]
sum = 0

if 0 < month <= 12:
sum = months[month-1]
else:
print('您输入的月份有误')

leap = 0
if (year % 400 == 0) or ((year
4000
% 4 == 0 ) and (year % 100 != 0)):
leap = 1
if (leap == 1) and (month > 2):
sum += 1
sum += day
print (year,'年',month,'月',day,'日是本年的:第',sum,'天')

4、输入三个整数x,y,z,请把这三个数由小到大输出。

#!/usr/bin/python
# -*- coding;UTF-8 -*-
print('请输入3个数:')
x = int(input('x = '))
y = int(input('y = '))
z = int(input('z = '))

temp = 0
if x > y :
temp = y
y = x
x = temp
if x > z:
temp = z
z = x
x = temp
if y > z:
temp = z
z = y
y = temp
print("这3个数由小到大输入的结果是:",x,y,z)
5、斐波那契数列
#!/usr/bin/python
# -*- coding: UTF-8 -*-

def fib(n):
a,b = 0,1
for i in range(n-1):
a,b = b,a+b
return a

print (fib(11))  # 输出了第10个斐波那契数列
6、复制列表
#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = ["小甲鱼",'abc',1,2,3]
b = a[:]
print (b)

7、打印九九乘法表

#!/usr/bin/python
# -*- coding: UTF-8 -*-

for i in range(1,10):
for j in range(1,10):
print(i,'x',j,'=',i*j,"\n")
8、打印结果时暂停
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

test = ['hello', 'happy new year','for every',2017,1]
for each in test:
print (each)
time.sleep(2)  #暂停2秒钟
9、打印出所有3位数的水仙花数
#!/usr/bin/python
# -*- coding: UTF-8 -*-

print ('三位数之内的水仙花是:')
for num in range(100,1000):
x = (num//100)
y = (num //10)%10
z = (num % 10)

if num == (x**3 + y**3 + z**3):
print(num)
10、判断101-200之间有多少个素数,并输出所有素数
from math import sqrt

leap = 1
print ('101-200以内的素数是:')
for m in range(101,201):
k = int(sqrt(m + 1))
for i in range(2,k+1):
if m % i == 0:
leap  = 0
break #跳出当前for循环,接着执行下面的语句
if leap == 1:
print(m)
leap = 1

11、输入一个数字n,实现PI后面出现n位小数,看看你的n有多长

import math
precision = input('how many spaces?\n')
while precision > 50:
print 'number is to large'
precision = input('how many spaces\n')
else:
print '%.*f' %(precision ,math.pi)

12、求1000以内的回文数

for i in range(1,10001):
if str(i) == str(i)[::-1]:
print i

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python