1、求一個數是否是質數(素數)?
2、求50~150之間的質數是那些?
1,2是同一個題,會2就會1,直接輸出2把
index = 50
while index <= 150:
s = 2
while s < index:
if index % s == 0:
break
s += 1
if s > index/2 :
print(index)
break
index += 1
執行結果:
3、使用循環完成如下圖案的打印
*
**
***
****
*****
*
***
*****
*******
*
* *
* *
*******
*
***
*****
*******
*****
***
*
*
* *
* *
* *
* *
* *
*
*
***
* * *
*******
* * *
***
*
# *
# ***
# *****
#*******
n = int(input("請輸入需要打印的行數:"))
for i in range(1,n+1):
for j in range(1,n-i+1):
print(" ",end="")
for k in range(1,2*i):
print("*",end="")
print()##換行
2.
# *
# * *
# * *
# *******
n = int(input("請輸入需要打印的行數:"))
for i in range(1,n+1):
if i < n :
for j in range(1,n-i+1):
print(" ",end="")
for k in range(1,2*i):
if k == 1 or k == 2*i -1 :
print("*",end = "")
else :
print(" ",end="")
else :
for z in range(1,2*n):
print("*",end = "")
print()##換行
3.
##菱形,採用的是上下分別輸出的形式,這個最容易想到
n = int(input("請輸入需要打印的行數:"))
while n %2 == 0 or n < 2:
n = int(input("輸入錯誤大於2行,且爲奇數行,請重新輸入:"))
for i in range(1,n//2 + 2):
for j in range(1,n//2 + 2-i):
print(" ",end = "")
for k in range(1,2*i):
print("*",end = "")
print("")
for m in range(1,n//2+1):
for a in range(1,m+1):
print(" ",end = "")
for b in range(1,2*(n//2+1-m)):
print("*",end="")
print("")
4.
n = int(input("請輸入需要打印的行數:"))
while n %2 == 0 or n < 2:
n = int(input("輸入錯誤大於2行,且爲奇數行,請重新輸入:"))
for i in range(1,n//2+2):
for j in range(1,n//2 + 2-i):
print(" ",end = "")
for k in range(1,2*i):
if k == 1 or k == 2*i-1:
print("*",end = "")
else:
print(" ", end = "" )
print("")
for m in range(1,n//2+1):
for a in range(1,m+1):
print(" ",end = "")
for b in range(1,2*(n//2+1-m)):
if b == 1 or b == (2*(n//2+1-m)-1):
print("*",end="")
else:
print(" ",end = "")
print("")
5.
n = int(input("請輸入需要打印的行數:"))
while n %2 == 0 or n < 2:
n = int(input("輸入錯誤大於2行,且爲奇數行,請重新輸入:"))
for i in range(1,n//2+1):
for j in range(1,n//2 + 2-i):
print(" ",end = "")
for k in range(1,2*i):
if k == 1 or k == 2*i-1 or k == i :
print("*",end = "")
else:
print(" ", end = "" )
print("")
for c in range(1,n+1):
print("*",end="")
print("")
for m in range(1,n//2+1):
for a in range(1,m+1):
print(" ",end = "")
for b in range(1,2*(n//2+1-m)):
if b == 1 or b == (2*(n//2+1-m)-1) or b == n//2+1-m :
print("*",end="")
else:
print(" ",end = "")
print("")
4、完整計算器程序
用戶輸入第一個數據
用戶輸入操作符號
用戶輸入第二個數據
運算展示結果
# 接收控制檯上用戶輸入的數據
num1 = float(input("請輸入第一個數:"))
op = input("請輸入您要運算的符號(+、-、*、/、%、//、**):")
num2 = float(input("請輸入第二個數:"))
# 數據運算
if op == "+":
print("%s + %s = %s"%(num1, num2, (num1 + num2)))
elif op == "-":
print("%s - %s = %s" %(num1, num2, (num1 - num2)))
elif op == "*":
print("%s * %s = %s" %(num1, num2, (num1 * num2)))
elif op == "/":
print("%s / %s = %s" %(num1, num2, (num1 / num2)))
elif op == "%":
print("%s %% %s \\n= %s " %(num1, num2, (num1 / num2)))
5、一個自然數與3的和是5的倍數,與3的差是6的倍數,這個自然數最小是幾?
##自然這個數是比6大的,故從6開始,並且我輸出了滿足這個條件的10個數字
num = 6
count = 0
while True:
if (num+3)%5==0 and (num-3)%6==0:
print("這個數最小是:",num)
count +=1
num += 1
if count == 10:
break
else:
num += 1
6、在400–500之間求一個數,它被2除餘1,被5除餘3,被9除餘1,這個數是多少?
##while實現
i = 400
while i <= 500:
if i%2 == 1 and i%5 == 3 and i%9 == 1:
print(i)
break
else:
i += 1
##for實現
for m in range(400,501):
if m%2 == 1 and m%5 == 3 and m%9 == 1:
print(m)
7、有一些四位數,百位數字都是3,十位數字都是6,並且它們既能被2整除,又能被3整除,求這樣的四位數中最大的和最小的兩數各是幾?
#這裏我採用了列表來存儲滿足的數字
ls = []
for i in range(1,10):
for j in range(1,10):
num = int(str(i)+"36"+str(j))
if num%2 ==0 and num %3 ==0:
ls.append(num)
ls.sort()#對數字進行排序,其實沒有必要排序,第一個最小,最後一個最大。
print("滿足要求的數字有:",ls)
print("最小值:{}最大值:{}".format(ls[0],ls[len(ls)-1])
以上內容僅供參考,個人代碼可以優化,供沒有思路的朋友參考。