设为首页 加入收藏

TOP

43道Python经典案例题(有答案)(四)
2023-07-25 21:25:03 】 浏览:75
Tags:Python 经典案
00 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) else: print("1 位数:", e)

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

# 一
def huiNum(num):
    if len(num) == 5:
        if b[0] == b[-1] and b[1] == b[-2]:
            print('%s是个回文数' % b)
        else:
            print('%s不是回文数' % b)
    else:
        print('请输入一个五位数')

b = input('请输入一个五位数:')
huiNum(b)
#二
def huiNum(c):
    # 将输入的值反转顺序
    b = c[::-1]
    if c == b:
        print('%s是个回文数'%c)
    else:
        print('%s不是个回文数'%c)

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

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

# week=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
def main(value):
    if value not in weeks:
        print('输入格式不正确')
    elif value in ['T','S']:
        aa = input('请输入第二个字母:')
        print(weeks[value][aa])
    else:
        print(weeks[value])

if __name__ == '__main__':
    weeks = {'M': 'Monday', 'T': {'u': 'Tuesday', 'h': 'Thursday'}, 'W': 'Webnesday', 'F': 'Friday',
             'S': {'t': 'Staturday', 'u': 'Sunday'}}
    value = input('请输入第一个字母:')
    value = value.upper()
    main(value)

28.输出1到100的素数 质数

# 一
for i in range(2,100):
    for m in range(2,i):
        if i % m == 0:
            break
    else:
        print(i)
        
 # 二  
lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))

for num in range(lower, upper + 1):
    # 素数大于 1
    if num > 1:
        for i in range(2, num):
            if (num % i) == 0:
                break
        else:
            print(num)

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

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

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

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

# 一
oldList = [1,3,5,6,8,21,34]
newNum = int(input('请输入一个数字:'))
for i in oldList:
    if newNum > i:
        oldList.append(newNum)
        break
    elif i >= newNum:
        index = oldList.index(i)
        oldList.insert(index,newNum)
        break

print(oldList)
# 二
oldList = [1,2,5,8,10]
newNum = int(input('请输入一个数字:'))
oldList.append(newNum)
res = sorted(oldList)    #相当于oldLost.sort()  这个没有返回值
print(res)

31.两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:

X = [[12, 7, 3],
     [4, 5, 6],
     [7, 8, 9]]

Y = [[5, 8, 1],
     [6, 7, 3],
     [4, 5, 9]]

for i in range(3):
    for v in range(3):
        X[i][v] += Y[i][v]

print(X)

32.统计 1 到 100 之和。

sum = 0
for i in range(1,101):
    sum += i
print(sum)
# 或者
print(sum(range(1,101)))

33.求输入数字的平方,如果平方运算后小于 50 则退出。

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:711312441
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import time
while True:
    num = int(input('请输入一个数字:'))
    numSqire = num ** 2
    if numSqire < 50:
        print('您输入的数字的平方小于50,即将退出程序')
        time.sleep(1)
        break
    else:
        print('您输入数字的平方为:%d'%numSqire)

34.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

alist = [1,4,52,4,8,5]
maxva =alist.index(max(alist))

minva = alist.index(min(alist))
alist[maxva],alist[minva] =alist[minva],alist[maxva]

# print(alist)

35. 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

from collections import deque
# 一
m = 3
b = [1,2,3,4,5,6,7]   # 7 个数
f = deque(b)  #将指定列表放入deque中,返回一个实例对象
f.rotate(m)   #将b向左旋转m的数字,若为负数则向右旋转
print(list(f))


# 二
m = 3
b = [1,2,3,4,5,6,7]
after_num = b[0:m]
aa = list(set(b) ^ set(after_num))
b = aa + after_num
print(after_num,b)

# 三

def rotine_list(lista,n):
    after_num = lista[0:n]
    aa = list(set(after_num)
首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python工具箱系列(二十五) 下一篇电商网站Web自动化测试实战( 编..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目