1. 程式人生 > >學習python過程我所練習的一些習題

學習python過程我所練習的一些習題

一.

給定一個不超過五位的正整數,判斷其位數,並依次打印出各位,十位,百位,千位,萬位,然後反著再來一遍.

萬位到個位的解法

a=input('>>>')
b=int(a)
print(b)
if b>999:
    if b>9999:
        n=5
    else:
        n=4
else:
    if b>99:
        n=3
    elif b>9:
        n=2
    else:
        n=1
print(n)
for i in range(n):
    x = b // 10**(n-1)
    print(x)
    y = b - x*10**(n-1)
    b = y
    n = n - 1 
個位到萬位
a=input('>>>')
b=int(a)
print(b)
if b>999:
    if b>9999:
        n=5
    else:
        n=4
else:
    if b>99:
        n=3
    elif b>9:
        n=2
    else:
        n=1
print(n)
for i in range(n):
    s = b // 10
    m = b - s*10
    print(m)
    b = s

二.列印一個邊長為n的正方形

n=int(input('>>>')
print('#'*n)
for i in range(n-2):
    print('#',''*(n-2),'#')
print('#'*n)

三. 求100以內的所有奇數的和

n=0
for i in range(1,100,2):
   n += i
print(n)

四. 判斷學生成績,等級A-E:

n=int(input('>>>'))
if n>69:
    if n>89:
        print('A')
    elif n>79:
        print('B')
    else:
        print('C')
else:
    if n>59:
        print('D')
    else:
        print('E')

五. 列印乘法口訣表

for i in range(1,10):
    for j in range(1,i+1):
        print(str(i)+'*'+str(j)+'='+str(i*j),end=' ')
    print('\t')
    列印乘法口訣表矩陣的上半部分
for i in range(1,10):
    s=""
    for j in range(i,10):
        s += '{}*{}={:<{}}'.format(i,j,i*j,2 if j<4 else 3)
    print('{:>66}'.format(s))
for i in range(1,10):
    s=''
    for j in range(i,10):
        s+=str(i)+'*'+str(j)+'='+str(i*j)
    print('{:>90}'.format(s))
需要讓賦一個空值給s,否則借用s的時候會重複9遍,而且print是一個命令,不可以直接返回給s,所以不能讓s直接等於line4

    理解後列印各種半部分,提示,考慮以4為邊界,可以應用三目表示式.

a=23
if a>2:
   c=12
else:
   c=13
print(c)

用三目表示式寫為:

a=23
c=12 if a>2 else 13
print(c)


六.求1到5的階乘之和

s=1
sum=0
for i in range(1,6):
    s=s*i
    sum += s
print(sum)