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)