python程序练习题集

1.#输入a,b,c,d4个整数,计算a+b-c*d的结果

a=input("please input a nimber:")
b=input("please input a number:")
c=input("please input a number:")
d=input("please input a number:")
print a+b-c*d
输出结果:
please input a nimber:3
please input a number:3
please input a number:3
please input a number:3
-3
2.#计算一个12.5m*16.7m的矩形房间的面积和周长
a=12.5
b=16.7
s=a*b
c=a+a+b+b
print "面积是%f,周长是%f"%(s,c)
输出结果是
面积是208.750000,周长是58.400000
3.#怎么得到9/2的小数结果
>>> float(9/2)
4.0
4.#python计算中7*7*7*7.可以有多少种写法
第一种:
>>> 7*7*7*7
2401
第二种:
>>>pow(7,4)
2401
第三种:
>>>7**4
24401
第四种:
>>> eval("%s*%s*%s*%s"%(7,7,7,7))

2401
第五种:

 >>> a=7
>>> for i in range(3):
...     a*=7
...
>>> a
2401 
第六种:

>>> "*7"*4
'*7*7*7*7'
>>> "*7"*4[1:]
Traceback (most recent call last)
File "", line 1, in
TypeError: 'int' object has no at
>>> ("*7"*4)[1:]
'7*7*7*7'
>>> eval(("*7"*4)[1:])

2401

第七种:

 >>> a=['7']*4
>>> "*".join(a)
'7*7*7*7'
>>> eval("*".join(['7']*4))
2401
 
5.#写程序将温度从华氏温度转换为摄氏温度。转换公式为C=5/9*(F-32)
 >>> def FtoC(degree):
...     return float("%.2f" %(5.0*100/9*(degree-32)/100))
...
>>> print FtoC(100)
37.78 
 
6.#一家商场在降价促销。如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(%10或20%)和最终价格

#coding=utf-8

customer_price=float(raw_input("please input pay money:"))
if customer_price >=50 and customer_price<=100:
print "disconunt 10%% ,after discount you shoud pay %s" \
%(customer_price*(1-0.1))
elif customer_price >100:
print "disconunt 20%% ,after discount you shoud pay %s" \
%(customer_price*(1-0.2))
else:
print "disconunt 0%% ,after discount you shoud pay %s" \
%customer_price

 
7.#判断一个数n能同时被3和5整除
while 1:
     n=input("please input a number:")
     if n%3==0 and n%5==0:
          print "the number 可以同时被3和5整除"
     else:
          print"input again!"
输出结果:
please input a number:1
the number 可以同时被3和5整除
please input a number:4
input again!
please input a number:5
input again!
please input a number:
8.#求1+2+3+...+100(第一种)
s=0
for i in range(101):
     s+=i
     i+=1
print s
输出结果:
5050
#求1+2+3+...+100(第二种)
i=1
s=0
while i<101:
   s+=i
   i+=1
print s
输出结果:
5050
#求1+2+3+...+100(第三种)
>>> print reduce(lambda x,y:x+y,range(1,101))
5050
>>>
9.#交换两个变量的值
第一种:
a=input("please input a number a:")
b=input("please input a number b:")
if a>b:
    tmp=a
    a=b
    b=tmp
print a,b
输出结果:
please input a number a:3
please input a number b:2
2 3
>>>
第二种:
 >>> a=1
>>> b=2
>>> a,b=b,a
>>> a,b
(2, 1) 
10.#输入三个数字,以逗号隔开,输出其中最大的数
a=input("please input a list of three bumber:")
print max(a)
输出结果:
please input a list of three bumber:4,7,3
7
11.#输入一个年份,输出是否为闰年
#闰年条件:能被4整除但不能被100整除,或者能被400整除的年份都是闰年

#encoding=utf-8
a=input("please input a number as
time of year:")
if a%4==0 and a%400==0:
print "%d is a leap year!"%a
elif a%400==0:
print "%d is a leap year!"%a
else:
print "%d is not leap year!"%a

输出结果:
please input a number as time of year:2000
the number is leap year!
>>>
==================== RESTART: C:\Users\ASUS\Desktop\a.py ====================
please input a number as time of year:2014
the number is not leap year!
>>>

12.#一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。

#encoding=utf-8

i=0
sum=0
while i<10:
a=raw_input("please tell me your gender:")
b=input("please tell me your age:")
if a=='f' and 10<=b<=12:
print "You can join in our basketball team!"
sum+=1
i+=1

print u"\n满足条件的人数为:%d人" %sum

python程序练习题集_第1张图片

 

13.#输入1-127的ASCII码并输出对应的字符
while 1:
     a=input("please input the ASCII of 1-127:")
     print chr(a)
14.#3个人在餐厅吃饭,想分摊饭费。总共花费35.27美元,他们还想给15%的消费。每个人该怎么付钱
print (35.27+0.15*35.27)/3
输出结果:
13.5201666667
>>>
15.#一周有几天,一天有几个小时,一小时有几分钟,一分钟有多少秒
#encoding=utf-8
a=int(raw_input('一周有几天:'))
b=int(raw_input('一天有几小时:'))
c=int(raw_input('一小时有几分钟:'))
d=int(raw_input('一分钟有几秒:'))
 
print '*'*20
print '一周有%d分钟'%(a*b*c)
print '一周有%d秒'%(a*b*c*d)
15、#猜数:
猜数小练习:

生成随机整数,从1-5取出来
然后输入一个数字,来猜,如果大于,则打印bigger
小了,则打印less
如果相等,则打印equal

#coding=utf-8

import random
a=random.randint(1,5)
print "a is %d"%a
b=input("please input a number:")
if b>a:
print"bigger!"
elif b print"less!"
elif b==a:
print "equal!"

16、打印10到1的数字:

python程序练习题集_第2张图片

17.写一个列表,倒序输出,用while循环实现

python程序练习题集_第3张图片

 18.在15题的基础上,补充只允许输入3次,猜错了就退出

 #coding=utf-8
import random

target_number=random.randint(1,5)
print target_number
guess_times=3
while guess_times>0:
    guess_number=int(raw_input("please input your guess number:"))
    if guess_number>target_number:
        print "bigger"
    elif guess_number
        print "less"
    else:
        print "you got it"
        break
    guess_times-=1
 

 19.在18题的基础上,补充猜不中的情况下一直循环,直到猜中为止,计算猜的次数

 #coding=utf-8
import random

target_number=random.randint(1,5)
print target_number
guess_times=3
while guess_times>0:
    guess_number=int(raw_input("please input your guess number:"))
    if guess_number>target_number:
        print "bigger"
    elif guess_number
        print "less"
    else:
        print "you got it"
        break
    guess_times-=1
 20、什么是素数
 素数:只能被1和它本身整除,这样的数称之为素数 
 >>> number=raw_input("input a number:")
input a number:13
>>> number=int(number)
>>> number
13
>>> for i in range(2,number):
...     if number%i==0:
...         print "not a prime"
...         break
... else:
...     print "%s is a prime" %number
...
13 is a prime
 21.#阶乘
 >>> def fact(n):
...     result=1
...     for i in range(1,n+1):
...         result*=i
...     return result
...
>>> print fact(4)
#递归
 #coding=utf-8

def fact(n):
    #第一个条件:写出结束递归的分支
    #第二个条件:写出自己调用自己的分支
    if n<=1:
        return 1
    else:
        return n*fact(n-1)
print fact(5)
练习:

# coding=utf-8
def f(n):
for i in n:
if isinstance(i,(tuple,dict,list)):
f(i),#,表示不打回车
else:
print i,#,表示不打回车


a = [1,2,(3,4,'sdsf',[5,6,'greg','kohi',
(7,8,9)]),'greg','pprgr']
f(a)

输出结果

1 2 3 4 sdsf 5 6 greg kohi 7 8 9 greg pprgr

 22.#嵌套循环输出10-50中个位带有1-5的所有数字

方法一:

 >>> for i in range(1,5):
...     for j in range(1,6):
...         print str(i)+str(j)
方法二:
 >> for i in range(10,50):
..     if str(i)[1] in ["1","2","3","4","5"]:
..         print i

 23、输入1-127的ascii码并输出对应字符

>>> for i in range(1,128):
... print chr(i)

输出结果:

python程序练习题集_第4张图片

24、计算一周有多少分钟、多少秒钟

>>> days_in_a_week=7
>>> hours_in_a_day=24
>>> mins_in_a_hour=60
>>> secs_in_a_minute=60
>>> print days_in_a_week*hours_in_a_day* mins_in_a_hour*secs_in_a_minute
604800

 25、3个人在餐厅吃饭,想分摊饭费。总共花费35.27美元,他们还想给15%的消费。每个人该怎么付钱

 >>> print "pay %.2f per person" %(35.27*(1+0.15)*100/3/100) #.2f意思是保留两个小数
pay 13.52 per person
26.现在有面包、热狗、番茄酱、芥末、洋葱,预定是1,不订是0,其中面包必订,
 #coding=utf-8

for bread in ["1"]:
    for hotdog in ["1","0"]:
        for jam in ["1","0"]:
            for jiemo in ["1","0"]:
                for onion in ["1","0"]:
                    print bread+hotdog+jam+jiemo+onion
26、

#coding=utf-8

cal_in_bread=1
cal_in_hotdog=1
cal_in_jam=1
cal_in_jiemo=1
cal_in_onion=1

for bread in ["1"]:
for hotdog in ["1","0"]:
for jam in ["1","0"]:
for jiemo in ["1","0"]:
for onion in ["1","0"]:
print "*"*50
print bread+hotdog+jam+jiemo+onion
print int(bread)*cal_in_bread+int(hotdog)*cal_in_hotdog+int(jam)*cal_in_jam+int(jiemo)*cal_in_jiemo+int(onion)*cal_in_onion

27、输入3个数,以逗号隔开,输出其中最大的数

 >>> a=1
>>> b=2
>>> c=3
>>> if a>b:
...     max=a
... else:
...     max=b
...
>>> if max>c:
...     print max
...    else:
...        print c

28、求两个正整数m和n的最大公约数:
 def hcf(x, y):
# 获取最小值
    if x > y:
        smaller=y
        biger=x
    else:
        smaller=x
        biger=y
    if biger%smaller==0:
        hcf=smaller
    else:
        for i in range(1,(smaller + 1)/2):
            if((x % i == 0) and (y % i == 0)):
                hcf = i
    return hcf


# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))

print num1,"和", num2,"的最大公约数为", hcf(num1, num2)
 

转载于:https://www.cnblogs.com/zqq521/p/7151229.html

你可能感兴趣的:(python程序练习题集)