Python 学习开启AI之旅 (十一)

# for i in range(5):
#     for j in range(5):
#         print(i,j)
#         if i>2 and j>2:
#             break #跳出循环
#     if (i>2) and j>2:
#         break
#
# for i in range(5):
#     if i==2:
#         continue
#
# for i in range(10):
#     print(i)
#     if i>99:
#         break
#     else:
#         print(999)


#题目7 :输入一个数,判断这个数是否为素数,并输出判断结果
# num=int(input('请输入大于2的整数'))
# for i in range(2,num):
#     if (num%i==0):
#         print('不是素数!')
# else:
#     print('是素数')

#另一种方法(加速)
# import math
# print(math.sqrt(16)) #平方根
# num=int(input('请输入大于2的整数:'))
# for i in range(2,int(math.sqrt(math))+1):
#     if num%i==0:
#         print('不是素数')
#         break
# else:
#     print('是素数')

#题目8: 一个数如果恰好等于他的因子之和,这个数成为“完数”
# 所谓是素数是除了1和他本身能整除的数

# for i in range(1,1000):
#     list1=[]
#     for j in range(1,i):
#         if (i%j==0):
#             list1.append(j)
#     if sum(list1)==i:
#         print('%s是因子'%(i))
#99乘法表while方法实现
# i=1
# while i<10:
#     j=1
#     while j<=i:
#         print('%s*%s=%s'%(i,j,i*j),end=' ')
#         j+=1
#     print()
#     i+=1


#约瑟夫环
#1)一群人围在一起起做成环状(如:N)
#2)从某个编号开始报数 (如:K)
#3)疏导某数(如:M)的时候,此人出列,下一个人重新报数
#4)一直循环,知道剩余2个人,约瑟夫环结束。
N=['3','4','5','6','7','8','9','10','11','12']
K=int(input('请输入开始的编号,0代表第一个人'))
M=int(input('请输入与要数的数字'))
while len(N)>2:
    print('当前列表为:',N)
    K=(K+M-1)%len(N)#-1为了确定从0开始数,本身数自己的索引
    r=N.pop(K)
    print('被删除的元素索引值为:',K)
    print('被删除的元素为',r)
    print('删除后的列表为',N)
    print('-'*100)
#题目3: 加入一年的利率为3.25%(复利),计算下需要多少年,万元的一年定期存款连本带息能翻倍。
# money=10000
# year=0
# print(money*(1.0325**21))
# while money<20000:
#     money=money*1.0325
#     year+=1
# print(year)
#题目16: 将一个正整数分解质因数,例如:输入90 打印出90=2*3*5
# num1=int(input('请输入大于2的整数'))
# old_num1=num1
# list1=[]
# for i in range(2,num1):
#     while num1%i==0:
#         num1//=i
#         list1.append(str(i))
# print(list1)
# print('%s=%s'%(old_num1,'*'.join(list1)))

#列表推导式
# nums=int(input('请输入人数'))
# p=[i for i in range(1,nums+1) if i>5] #推导式
# print(p)
#
# p2=[(i,j) for i in range(1,nums+1) for j in range(10) if i>5 and j>5]
# print(p2)

#字符串推导式 不存在

#集合推导式
# set1={i for i in range(10)}
# print(set1)


#字典推导式
# dict1={k:v for k in range(10) for v in  range(3)}
# print(dict1)

#生成器推导式
#l=(i for i in range(5))
#print(list(l))

 

发布了119 篇原创文章 · 获赞 32 · 访问量 59万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览