python 新手练习题

以下练习为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 % 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




   





猜你喜欢

转载自blog.csdn.net/qq_34127818/article/details/54344308
今日推荐