找到1-1000以內的所有素數
這是第一次敲的【讓1-1000的數除以"2到(本身-1的數)",根據是否有余數來進行列印】
但是發現,9、15……數字都被列印出來了,而且同一個數會被多次列印(問題有點大)
j=1
i=1
print("1-1000里的所有素數為:")
for i in range(1,1001):
for j in range(2,i):
if i % j == 0:
break
else:
print(i)
于是去百度搜索:for else和 if else誤區…
原來:
- i=5,只有當i%2和i%3都不等于0才能執行列印;
- i=7,lis=[2,3,5],時,只有當i%2,i%3,和i%才能執行print(7)
所以,只有for else才能正確的執行才代碼
加一個,end" " 吧,讓數字列印出來是一行一行的
i=2
for i in range (2, 1001):
j=2
for j in range(2, i):
if (i%j==0):
break
else:
print (i,end=" ")
但是,他會在數字中間斷開(我人裂開……
再來,每十個數字就換行
a=0
i=2
for i in range (2, 1001):
j=2
for j in range(2, i):
if (i%j==0):
break
else:
print (i,end=" ")
a+=1
if a%10==0:
print("\n")
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173
179 181 191 193 197 199 211 223 227 229
233 239 241 251 257 263 269 271 277 281
283 293 307 311 313 317 331 337 347 349
353 359 367 373 379 383 389 397 401 409
419 421 431 433 439 443 449 457 461 463
467 479 487 491 499 503 509 521 523 541
547 557 563 569 571 577 587 593 599 601
607 613 617 619 631 641 643 647 653 659
661 673 677 683 691 701 709 719 727 733
739 743 751 757 761 769 773 787 797 809
811 821 823 827 829 839 853 857 859 863
877 881 883 887 907 911 919 929 937 941
947 953 967 971 977 983 991 997
還行還行,靠著百度做出來了
判斷[0,3,2,1]是否為山脈數值
僅僅是判斷[0,3,2,1]
a=0
b=3
c=2
d=1
if a<b and b>c and c>d:
print("[{},{},{},{}]是山脈數值".format(a,b,c,d))
elif a<b and b<c and c>d:
print("[{},{},{},{}]是山脈數值".format(a,b,c,d))
else:
print("[{},{},{},{}]不是山脈數值".format(a,b,c,d))
那么如果我想判斷我輸入的是不是山脈數值
a=int(input("請你輸入第一個數值"))
b=int(input("請你輸入第二個數值"))
c=int(input("請你輸入第三個數值"))
d=int(input("請你輸入第四個數值"))
if a<b and b>c and c>d:
print("[{},{},{},{}]是山脈數值".format(a,b,c,d))
elif a<b and b<c and c>d:
print("[{},{},{},{}]是山脈數值".format(a,b,c,d))
else:
print("[{},{},{},{}]不是山脈數值".format(a,b,c,d))
同時輸入多個數值,字串間以逗號/空格間隔
a,b,c,d=eval(input('請輸入4個數字:'))
if a<b and b>c and c>d:
print("[{},{},{},{}]是山脈數值".format(a,b,c,d))
elif a<b and b<c and c>d:
print("[{},{},{},{}]是山脈數值".format(a,b,c,d))
else:
print("[{},{},{},{}]不是山脈數值".format(a,b,c,d))
請你輸入第一個數值8
請你輸入第二個數值9
請你輸入第三個數值10
請你輸入第四個數值1
[8,9,10,1]是山脈數值
判斷兩個字串是否為換位詞
輸入字串后,轉換為串列,再進行排序,如果排序后的串列相同,則輸入的兩個字串為換位詞
a=str(input("請輸入第一個:"))
b=str(input("請輸入第二個:"))
list1 = list(a)
list2 = list(b)
list1.sort()
list2.sort()
print(list1)
print(list2)
if list1==list2:
print("{}和{}互為換位詞".format(a,b))
else:
print("{}和{}不互為換位詞".format(a,b))
請輸入第一個:55abc88
請輸入第二個:58cab85
[‘5’, ‘5’, ‘8’, ‘8’, ‘a’, ‘b’, ‘c’]
[‘5’, ‘5’, ‘8’, ‘8’, ‘a’, ‘b’, ‘c’]
55abc88和58cab85互為換位詞
再換一個方法:逐個比對
如果兩個字串的長度相同,開始逐個比對,若其中比對成功的次數=字串長度,則列印"互為換位詞",否則為"不互為換位詞"
a=str(input("請輸入第一個:"))
b=str(input("請輸入第二個:"))
c=0
list1 = list(a)
list2 = list(b)
A=len(list1)
B=len(list2)
if A==B:
for i in range(0,A):
for j in range(0,B):
if list1[i]==list2[j]:
c=c+1
else:
c=c+0
if c==A:
print("{}和{}互為換位詞".format(a,b))
break
else:
print("{}和{}不互為換位詞".format(a,b))
else:
print("{}和{}不互為換位詞".format(a,b))
【寫在最后】終于寫完了→ 半夜的腦子挺適合用來敲代碼的……啊哈
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203123.html
標籤:AI
下一篇:cgb2007-京淘day04
