python实例基础(慢慢补充)

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

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

# 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
#法一:
# for a in range(1,10):
# for b in range(10):
# for c in range(10):
# sum=a*100+b*10+c
# if a**3+b**3+c**3==sum:
# print(sum)

#法二:
for n in range(100,1000):
a=n//100
b=n//10%10
c=n%10
if a**3+b**3+c**3==n:
print(n)

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

法一:
# while(True):
# num = int(input('请输入一个5位数:'))
# a=num//10000 #万位数
# b=num//1000%10 #千位数
# c=num//100%10 #百位数
# d=num//10%10 #十位数
# e=num%10 #个位数
# if a==e and b==d:
# print('这是一个回文数')
# else:
# print('这不是一个回文数')

法二:
num = int(input('请输入一个5位数:'))
num=str(num)
if num[0]==num[-1] and num[1]==num[-2]:
print('这是一个回文数')
else:
print('这不是一个回文数')

法三:
num = int(input('请输入一个5位数:'))
num=str(num)
flag=True
for i in range(len(num)//2):
if num[i]!=num[-i-1]:
flag=False
break
if flag==True:
print('这是一个回文数')
else:
print('这不是一个回文数')

4、按逗号分隔列表
直接用','.join(L)会报错TypeError: sequence item 0: expected str instance, int found
网上解释说list包含数字,不能直接转化成字符串,,,所以需要先把数字转成带引号的列表

 5、输入3个数,按从大到小顺序排列

5、有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数
正确的方法:

报错的写法如下:

注意点:因为我最开始直接用的空列表等于list[],但是会报list assignment index out of range,自己理解为因为new_list没有元素,所以用new_list[]会报错



 
 
 
原文地址:https://www.cnblogs.com/mihoutao/p/11753426.html