【第4天】python全栈从入门到放弃
2019-08-02 本文已影响0人
36140820cbfd
1.判断一个数是否是水仙花数,水仙花数字是一个三位数,三位数的每一位三次方的和相加还等于这个数字的大小,比如153=13+53+3**3
代码块:第一种方法
num=input('请输入一个三位数数字:') #num此时是字符串类型
sum=int(num[0])**3+int(num[1])**3+int(num[2])**3
if int(num)==sum:
print('这是一个水仙花数字')
else:
print('这不是一个水仙花数字')
代码块:第二种方法
num=input('请输入一个三位数数字:') #num此时是字符串类型
sum=0
for i in num:
sum+=int(i)**3
if sum==int(num):
print('这是一个水仙花数')
else:
print('这不是水仙花数')
2.给出一个纯数字列表,对列表进行从小到大的排序
思路
1.完成a和b数据交换,例如a=10,b=24,交换之后,a=24,b=10。
2.循环列表,判断a[i]和a[i+1]之间的大小关系,如果a[i]比a[i+1]大,则两个数相互交换,循环结束的时候,当前列表最大数据会移动到最右端。
3.想一想,如果再执行一次上面的操作,最终最终第二大的数据就移动到了第二右端,以此类推,反复执行,列表就变成了一个有序列表了。
代码块
lst=[12,34,2,10,44,66,52] #7个
for i in range(len(lst)): #0-6 控制循环6次,就可以完成排序
a=0
while a<len(lst)-1: #沿着列表向右对每一位和他后一位来判断。
if lst[a]>lst[a+1]:
lst[a],lst[a+1]=lst[a+1],lst[a]
a+=1
print(lst) #[2, 10, 12, 34, 44, 52, 66]
3.彩票36个数字选出7个不重复的数字
代码块
import random
num=set()
while len(num)!=7:
res=random.randint(1,36)
num.add(res)
lst=list(num) #[33, 34, 13, 17, 26, 27, 31]
for i in range(len(lst)-1): #循环7-1次即可
a=0
while a <len(lst)-1:
if lst[a] > lst[a + 1]:
lst[a], lst[a + 1] = lst[a + 1], lst[a]
a += 1
print(lst)
