python练手题

题目:

两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

【注】python里的ord()函数是将一个英文字母转换为Ascall码。

程序:

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('比赛顺序是:\na -- %s\t b -- %s\t c--%s' % (chr(i), chr(j), chr(k)))

题目:

打印出如下图案(菱形)

*

***

*****

*******

*****

***

*

程序:

for i in range(1, 6):

print(' '*(5-i)+'*'*(2*i-1)+' '*(5-1))

for j in range(1, 5):

print(' '*j+'*'*(9-2*j)+' '*j)

结果:

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

程序:

def js(number = 1):

res = 1

for i in range(1, number+1):

res *= i

return res

c = int(input('请输入一个数'))

res = 0

for i in range(1,c+1):

res += js(i)

print('级数求和为' + str(res) + '。')

结果:

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

程序:

def js(number):

if number == 1:

return 1

return number*js(number-1)

c = int(input('请输入一个数字:'))

print('这个数字的级数是:' + str(js(c))+'。')

结果

题目:

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

程序:

def zf(str1):

s = len(str1)

if str1 == []:

return 1

print(str1[s-1], end='')

str1.pop()

return zf(str1)

c = list(input('请输入字符串:'))

zf(c)

结果:

题目:

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

程序:

def n(number):

s = len(number)

sum = 0

for j in range(s):

sum += int(number[j])*(10**(s-j-1))

print(str(sum) + '是一个' + str(s) + '位数。')

for i in range(s):

print(number[s-i-1], end='')

number = list(input('请输入一个数字:'))

n(number)

结果

题目:

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

程序:

def n(number):

if (number[0] == number[4]) and (number[1] == number[3]):

print('这是一个回文数')

else:

print('这不是一个回文数')

c = list(input('请输入一个五位数:'))

n(c)

结果

今天的分享到此完毕。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180814G0Y61R00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券