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))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章