第一题:
#!/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)