python3题目_Python3---练习题目

第一题:

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

'''Python3 练习案例

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

程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

程序源代码:'''

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)

第二题:

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

'''题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。'''i= int(input("请输入净利润:"))

arr= [1000000,600000,400000,200000,100000]

rat= [0.01,0.015,0.03,0.05,0.075,0.1]

r=0for 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)

第三题:

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

'''题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?

程序分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:'''

importmath'''math模块为浮点运算提供了对底层C函数库的访问:

1;sqrt() 方法返回数字x的平方根。'''

for i in range(10000):#将循环数值转化为整数型

x = int(math.sqrt(i + 100))

y= int(math.sqrt(i + 268))if (x * x == i+ 100) and ( y * y == i + 268):print(i)

第四题:

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

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

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天:'''year= int(input("请输入年份:\n"))

month= int(input("请输入月份:\n"))

day= int(input("请输入天数:\n"))#Python的元组与列表类似,不同之处在于元组的元素不能修改。

months = (0,31,59,90,120,151,181,212,243,273,304,334)if 0 < month < 12:

sun= months[month - 1]else:print("Date error")

sun+=day

leap=0if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 !=0)):

leap= 1

if (leap == 1) and (month > 2):

sun+= 1

print("it is the %dth day." % sun)

第五题:

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

'''题目:输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,

如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。'''l=[]for i in range(3):

x= int(input("integer: \n"))

l.append(x)

l.sort()print(l)'''1;序列是Python中最基本的数据结构.

2;sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

3;append()函数会将所有的参数视为一个列表元素插入到列表尾部'''

第六题:

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

'''题目:斐波那契数列。

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)'''

deffib(n):if n == 1 or n == 2:return 1

return fib(n -1)+fib(n-2)print(fib(10))

第七题:

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

'''题目:将一个列表的数据复制到另一个列表中。

程序分析:使用列表[:]。'''a= [1,3,'a',True]

b=a[:]print(b)

第八题:

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

'''题目:输出9*9乘法口诀表。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。'''

for i in range(1,10):for j in range(1,10):

result= i *jprint("%d * %d = % -3d" %(i,j,result))print("")

第九题:

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

'''题目:暂停一秒输出。

程序分析:无。'''

importtime#dict.items返回可遍历的(键, 值) 元组数组。

MyD = {1:'A',2:'B'}for key,value indict.items(MyD):print(key,value)

time.sleep(1) #暂停1秒

第十题:

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

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

假如兔子都不死,问每个月的兔子总数为多少?

程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....'''f1= 1f2= 1

for i in range(1,21):print("%12d %12d" %(f1,f2))if (i % 2) ==0:print("")

f1= f1 +f2

f2= f1 + f2

第十一题:

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

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

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。'''

from math importsqrtfrom sys importstdout'''1;sqrt() 方法返回数字x的平方根。

2;sys该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数。它始终可用。

3;stdout用于print()和表达式的输出和 提示input();'''h=0

leap= 1

for m in range(101,201):

k= int(sqrt(m + 1))for i in range(2,k+1):if m % i ==0:

leap=0break

if leap == 1:print("%-4d" %m)

h+= 1

if h % 10 ==0:print("")

leap= 1

第十二题:

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

'''题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。'''

for n in range(100,1000):

i= n / 100 #提取百位数字

j = n / 10 % 10 #提取出十位数字

k = n % 10 #提取个位数字

if n == i ** 3 + j ** 3 + k ** 3:print(n)

第十三题:

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

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

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。'''

from sys importstdout

n= int(input("input number: \n"))print("n = %d" %n)for i in range(2 , n + 1):while n !=i:if n % i ==0:

stdout.write(str(i))

stdout.write("*")

n= n /ielse:break

print("%d" % n)

第十四题:

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

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

程序分析:程序分析:(a>b)?a:b这是条件运算符的基本例子。'''score= int(input("input score: \n"))if score >= 90:

grade= 'A'

elif score >= 60:

grade= 'B'

else:

grade= 'C'

print("%d belongs to %s" % (score,grade))

第十五题:

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

importdatetimeif __name__ == "__main__":#输出今日日期,格式为dd/mm/yyyy。 更多选项可以查看strftime()方法

print(datetime.date.today().strftime('%d/%m/%Y'))#创建日期对象

Date = datetime.date(1941,1,5)print(Date.strftime('%d/%m/%Y'))#日期算术运算

DateNext = Date + datetime.timedelta(days=4)print(DateNext)#日期替换

DateT = Date.replace(year=Date.year + 1)print(DateT)

第十六题:

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

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

程序分析:利用while语句,条件为输入的字符不为'\n'。'''

'''Python标准库 - 文本处理服务 - string库'''

if __name__ == "__main__":

s= str(input('input a string: \n'))

letters=0

space=0

digit=0

others=0for c ins:ifc.isalpha():

letters+= 1

elifc.isspace():

space+= 1

elifc.isdigit():

digit+= 1

else:

others+= 1

print("char = %d\n space = %d\n digit = %d\n others = %d\n" % (letters,space,digit,others))

第十七题:

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

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

程序分析:关键是计算出每一项的值。'''Tn=0

Sn=[]

n= int(input('n = :\n'))

a= int(input('a = :\n'))for count inrange(n):

Tn= Tn +a

a= a * 10Sn.append(Tn)print(Tn)#reduce() 函数会对参数序列中元素进行累积。

Sn = reduce(lambda x,y : x +y,Sn)print(Sn)

第十八题:

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

'''题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。'''

from sys importstdoutfor j in range(2,1001):

k=[]

n= -1s=jfor i in range(1,j):if j % i ==0 :

n+= 1s-=i

k.append(i)if s ==0:print(j)for i inrange(n):

stdout.write((str(k[i])))

stdout.write(' ')print(k[n])

第十九题:

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

'''题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?'''Sn= 100.0Hn= Sn / 2

for n in range(2,11):

Sn+= 2 *Hn

Hn/= 2

print("Total of road is %f" %Sn)print("The tenth is %f meter" % Hn)

第二十题:

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

'''题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

程序分析:采取逆向思维的方法,从后往前推断。'''x2= 1

for day in range(9 , 0 , -1):print(day)

x1= (x2 + 1) * 2x2=x1print(x1)

第二十一题:

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

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

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

'''a 可能对应 y , z

c 对应 y ----- a 对应 z ---- b 对应 x'''

'''函数说明:

1;ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,

它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,

如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

2;chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

问题分析:

首先我们通过for 循环分别提取出代表三个x , y ,Z 不同的字母的变量,接下来我们根据条件(a说他不和x比,c说他不和x,z比)来设定if语句。'''

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\n a -- %s\n b -- %s\n c -- %s" % (chr(i),chr(j),chr(k)))

第二十二题:

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

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

*

***

*****

*******

*****

***

*

程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

前四行规律: 第i行 : (2-i+1)个空格 + (2*i+1)一个*

第0行 : 3个空格 + 1一个*

第1行 : 2个空格 + 3一个*

第2行 : 1个空格 + 4一个*

第3行 : 0个空格 + 7一个*

后四行规律:第i行 : (i+1)个空格 + (4 - 2*i + i)一个*

第0行 : 1个空格 + 5一个*

第1行 : 2个空格 + 3一个*

第2行 : 3个空格 + 1一个*'''

from sys importstdoutfor i in range(4): #提取行数,i 分别表示 (0,1,2,3)

print(i)for j in range(2 - i + 1):

stdout.write(' ')for k in range(2 * i + 1):

stdout.write('*')print

for i in range(3):print(i)for j in range(i + 1):

stdout.write(' ')for k in range(4 - 2 * i + 1):

stdout.write('*')print

第二十三题:

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

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

程序分析:请抓住分子与分母的变化规律。

思路解析:

1;使用变量分别表示分子,分母。整个需要钱20项的和,那么分子,分母的规律变化需要循环20次。

2;前面想加的和设定一个变量存储他们的值'''a= 2.0b= 1.0s=0for i in range(1,21):

s+= a /b

t=a

a= a +b

b=tprint(s)

第二十四题:

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

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

程序分析:参考23题'''n=0

s=0

t= 1

for n in range(1,21):

t*=n

s+=tprint("1! + 2! + 3! + ... + 20! = %d" % s)

第二十五题:

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

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

程序分析:递归公式:fn=fn_1*4!'''

deffact(j):

sum=0if j ==0:

sum= 1

else:

sum= j * fact(j - 1)returnsumfor i in range(5):print("%d! = %d" % (i,fact(i)))

第二十六题:

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

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

利用字符串切片提取字符来操作'''

defoutput(s,l):if l ==0:return

print(s[l-1])

output(s,l-1)

s= input('Input a string :')

l=len(s)

output(s,l)

第二十七题:

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

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

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

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

defage(n):if n == 1: c = 10

else:

c= age(n-1) + 2

returncprint(age(5))

第二十八题:

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

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

程序分析:学会分解出每一位数。'''x= int(input("请输入一个数:\n"))

a= x // 10000 #提取第五位数字

b = x % 10000 // 1000 #提取第四位数字

c = x % 1000 // 100 #提取第三位数字

d = x % 100 // 10 #提取第二位数字

e = x % 10 #提取第一位数字

if a !=0:print("5位数:",e,d,c,b,a)elif b !=0:print("4位数:", e, d, c, b)elif c !=0:print("3位数:", e, d, c)elif d !=0:print("2位数:", e, d)elif e !=0:print("1位数:", e)

第二十九题:

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

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

12321'''a= int(input("请输入一个数字:\n"))

x=str(a)

flag=Truefor i in range(len(x)//2):if x[i] != x[-i - 1]:

flag=Falsebreak

ifflag:print("%d 是一个回文数!" %a)else:print("%d 不是一个回文数!" % a)

第三十题:

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

'''题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。。'''letter= input("please input:")#while letter != 'Y':

if letter == 'S':print('please input second letter:')

letter= input("please input:")if letter == 'a':print('Saturday')elif letter == 'u':print('Sunday')else:print('data error')elif letter == 'F':print('Friday')elif letter == 'M':print('Monday')elif letter == 'T':print('please input second letter')

letter= input("please input:")if letter == 'u':print('Tuesday')elif letter == 'h':print('Thursday')else:print('data error')elif letter == 'W':print('Wednesday')else:print('data error')

第三十一题:

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

'''题目:按相反的顺序输出列表的值。'''

'''解析:

[ 1 2 3 4 5 ]

print(a[-1]) ###取最后一个元素

[5]

print(a[:-1])  ### 除了最后一个取全部

[ 1 2 3 4 ]

print(a[::-1]) ### 取从后向前(相反)的元素

[ 5 4 3 2 1 ]

print(a[2::-1]) ### 取从下标为2的元素翻转读取

[ 3 2 1 ]'''a= ['one', 213, True ]for i in a[::-1]:print(i)

第三十二题:

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

'''题目:按逗号分隔列表。

函数解析:

1;Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。'''L= [1,2,3,"ONE",True,{'A':123}]

S1= ','.join(str(n) for n inL)

S2= '666'.join(str(n) for n inL)print(S1)print(S2)

第三十三题:

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

'''题目:练习函数调用。'''

defhello_world():print("hello world")defthree_hellos():for i in range(3):

hello_world()if __name__ == "__main__":

three_hellos()

第三十四题:

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

'''题目:文本颜色设置。

程序分析:无。'''

classbcolors:

HEADER= '\033[95m'OKBLUE= '\033[94m'OKGREEN= '\033[92m'WARNING= '\033[93m'FAIL= '\033[91m'ENDC= '\033[0m'BOLD= '\033[1m'UNDERLINE= '\033[4m'

print(bcolors.WARNING + "警告的颜色字体?" + bcolors.ENDC)

第三十五题:

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

'''题目:求100之内的素数。'''

from math importsqrt'''函数解析:

1;sqrt() 方法返回数字x的平方根。'''

if __name__ == "__main__":

N= 100a=range(0,N)for i in range(2,int(sqrt(N))):for j in range(i+1, N):if (a[i] != 0) and (a[j] !=0):if a[i] % a[j] ==0:

a[j]=0print

for i in range(2,N):if a[i] !=0:print("%5d" %a[i])if (i - 2) % 10 ==0:print

第三十六题:

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

'''题目:对10个数进行排序。

程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。'''

if __name__ == "__main__":

N= 10

#input data

print("please input ten num:\n")

l=[]for i inrange(N):

l.append(int(input("input a number:\n")))print

for i inrange(N):print(l[i])print

#sort tem num

for i in range(N - 1):

min=ifor j in range(i + 1, N):if l[min] > l[j] : min =j

l[i],l[min]=l[min],l[i]print("after sorted")for i inrange(N):print(l[i])

第三十七题:

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

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

程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。'''

if __name__ == "__main__":

a=[]

sum= 0.0

for i in range(3):

a.append([])for j in range(3):

a[i].append(float(input("input num:\n")))print(a)for i in range(3):

sum+=a[i][i]print(sum)

第三十八题:

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

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

程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。'''

if __name__ == "__main__":#方案一:

a = [1,2,3,4,5,6,7,8,9,0]print("original list is:")for i inrange(len(a)):print(a[i])

number= int(input("insert a new number: \n"))

end= a[9]if number >end:

a.append(number)#a[10] = number

else:for i in range(10):if a[i] >number:

temp1=a[i]

a[i]=numberfor j in range(i + 1, 11):

temp2=a[j]

a[j]=temp1

temp1=temp2break

for i in range(11):print(a[i])

第三十九题:

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

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

程序分析:用第一个与最后一个交换。'''

if __name__ == "__main__":

a= [9,3,4,6,1]

N=len(a)print(a)for i in range(len(a) // 2):

a[i],a[N-i -1] = a[N -i -1],a[i]print(a)

第四十题:

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

'''题目:模仿静态变量的用法。'''

defvarfunc():

var=0print("var = %d" %var)

var+= 1

if __name__ == "__main__":for i in range(3):

varfunc()#类的属性#作为类的一个属性吧

classStatic:

StaticVar= 5

defvarfunc(self):

self.StaticVar+= 1

print(self.StaticVar)print(Static.StaticVar)

a=Static()for i in range(3):

a.varfunc()

第四十一题:

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

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

程序分析:没有auto关键字,使用变量作用域来举例吧。'''num= 2

defautofunc():

num= 1

print("internal block num = %d" %num )

num+= 1

for i in range(3):print("The num = %d" %num)

num+= 1autofunc()

第四十二题:

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

'''题目:模仿静态变量(static)另一案例。

程序分析:演示一个python作用域使用方法'''

classNum:

nNum= 1

definc(self):

self.nNum+= 1

print("nNum = %d" %self.nNum)if __name__ == "__main__":

nNum= 2inst=Num()for i in range(3):

nNum+= 1

print("The num = %d" %nNum)

inst.inc()

第四十三题:

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

'''题目:统计 1 到 100 之和。'''tmp=0for i in range(1,101):

tmp+=iprint("The sum is %d" % tmp)

第四十四题:

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

'''求输入数字的平方,如果平方运算后小于 50 则退出。'''TURE= 1FALSE=0defSQ(x):return x *xprint("如果输入的数字小于 50 ,程序将停止运行。")

again= 1

whileagain:

num= int(input("Please input number:"))print("运算结果为%d" %(SQ(num)))if num >= 50:

again=TUREelse:

again= FALSE

第四十五题:

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

'''题目:两个变量值互换。'''

defexchange(a,b):

a,b=b,areturn(a,b)if __name__ == "__main__":

x= 10y= 20

print("x = %d , y = %d" %(x,y))

x,y=exchange(x,y)print("x = %d , y = %d" % (x,y))

第四十六题:

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

'''题目:数字比较。'''

if __name__ == "__main__":

i= 10j= 20

if i >j:print("%d 大于 %d" %(i,j))elif i ==j:print("%d 等于 %d" %(i, j))elif i

第四十七题:

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

'''题目:使用lambda来创建匿名函数。'''MAXIMUM= lambda x,y : (x > y) * x + (x < y) *y

MINIMUM= lambda x,y : (x > y) * y + (x < y) *xif __name__ == "__main__":

a= 10b= 20

print("The largar one is %d" %MAXIMUM(a,b))print("The lower one is %d" % MINIMUM(a, b))

第四十八题:

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

'''题目:输出一个随机数。

程序分析:使用 random 模块。'''

importrandomprint(random.uniform(10,20))

第四十九题:

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

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

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

if __name__ == "__main__":

a= 77b= a & 3

print("a & b = %d" %b)

b&= 7

print("a & b = %d" % b)

你可能感兴趣的:(python3题目)