循环嵌套(习题)
目錄
1、用while循環正向輸出9*9乘法表
2、 while循環反向輸出乘法表
?3、for循環輸出菱形
4、while循環輸出菱形
5、五位數中,對稱的數稱為回文數,找出所有的回文數。
?6、求1!+2!+3!+4!+5!
7、找出所有的水仙花數,三位數,各位立方和等于該數本身。?
8、輸入任意兩個數,如果第一個數小,從第一個數打印到第二個數,如果第二個數小,從第二個數打印到第一個數 # 比如: 輸入2,5,則打印:5 4 3 2
?9、輸入兩個數n,a, 輸出對應的結果
?10、輸入兩個數,求兩個數的最大公約數(*****)
11、輸入兩個數,求兩個數的最小公倍數(****)
12、宰相的麥子:相傳古印度宰相達依爾,是國際象棋的發明者。有一次,國王因為他的貢獻要獎勵他,問他想要什么。
1、用while循環正向輸出9*9乘法表
while i <= 9:j = 1while j <= i:print('%d * %d = %d' % (j , i , i * j),end='\t')j += 1i += 1print('\n')2、 while循環反向輸出乘法表
?3、for循環輸出菱形
n = int(input('請輸入一個整數:')) for i in range(1,n + 1):print((n - i) * ' ' ,(2*i - 1) * '*') for j in range(n - 1,0,-1):#左閉右開print((n - j) * ' ', (2 * j - 1) * '*')4、while循環輸出菱形
i = 1 n = int(input('請輸入一個整數:')) while i <= n:print((n - i) * ' ', (2 * i - 1) * '*')i +=1 j = n - 1 while j >=1:print((n - j) * ' ', (2 * j - 1) * '*')j -= 15、五位數中,對稱的數稱為回文數,找出所有的回文數。
for i in range(10000,100000):s = str(i)if (s[::] == s[::-1]):print(i)?
?6、求1!+2!+3!+4!+5!
n = int(input('請輸入要求的階乘:')) j = 1 s = 0 for i in range(1,n + 1):j *=is +=j print(s)7、找出所有的水仙花數,三位數,各位立方和等于該數本身。?
如: 153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3
for i in range(101,1000):n = is = 0while i > 0:a = i % 10s += a*a*ai //= 10if (s == n):print(n)8、輸入任意兩個數,如果第一個數小,從第一個數打印到第二個數,如果第二個數小,從第二個數打印到第一個數 # 比如: 輸入2,5,則打印:5 4 3 2
n = int(input('請輸入一個數:')) m = int(input('請輸入另一個數:')) if (n < m):for i in range(n,m + 1):print(i,end='\t') else:for j in range(n,m - 1,-1):#左閉右開,注意右邊位置print(j,end='\t')?
?9、輸入兩個數n,a, 輸出對應的結果
# 如: n=3,a=2; 輸出 2 + 22 + 222 的值。(****) # 如: n=4,a=3; 輸出 3 + 33 + 333 + 3333的值。
# 提示: 1、n = 3,相加三次,每次相加比前一次相加的數,多一位 #
? ? ? ? ? ? ?2、每次多的這個位數的值為a, 3, 3*10+3(33), 33*10+3(333),...
n = int(input('請輸入次數:')) m = int(input('請輸入值:')) a = 0 s = 0 for i in range(0,n ):a += (m * (10 ** i))s += a print(s)?10、輸入兩個數,求兩個數的最大公約數(*****)
# 如: 12和8的最大公約數是4,
# 提示: 能夠同時整除兩個數的最大數
# 1, 先找出兩個數中最小的那個數,
# 2, 最小數--, 找出能被兩個數整除的數(退出循環break)
num1 = int(input('請輸入第一個數:')) num2 = int(input('請輸入第二個數:')) m = max(num1,num2) n = min(num1,num2) r = m % n while r != 0:m ,n = n,rr = m % n print(num1, "和", num2, "的最大公約數為", n)11、輸入兩個數,求兩個數的最小公倍數(****)
# 如: 9和6的最小公倍數是18,
# 1, 先找出兩個數中的最大數
# 2, 最大數++,找出能被兩個數整除的數(退出循環break)?
num1 = int(input('請輸入第一個數:')) num2 = int(input('請輸入第二個數:')) m = max(num1,num2) n = min(num1,num2) r = m % n while r!= 0:m ,n = n , rr = m % n print(num1,'和',num2,'的最小公倍數為',num2 * num1 / n)12、宰相的麥子:相傳古印度宰相達依爾,是國際象棋的發明者。有一次,國王因為他的貢獻要獎勵他,問他想要什么。
# 達依爾說:“只要在國際象棋棋盤上(共64格)擺上這么些麥子就行了:第一格一粒,第二格兩粒,……,
# 后面一格的麥子總是前一格麥子數的兩倍,擺滿整個棋盤,我就感恩不盡了。”國王一想,這還不容易,
# 剛想答應,如果你這時在國王旁邊站著,你會不會勸國王別答應,為什么?
n = 0 for i in range(0,64):n += (2**i) print(n)?
總結
- 上一篇: 图解CSS的padding,margin
- 下一篇: 有什么是你追了很多女生都失败后才知道的?