1.给定一个不超过五位的正整数,判断其有几位,依次打印出个位、十位、百位、千位、万位的数字。

i=int(input(':'))

if i/1000>10:

   r=5

elif i/1000>1:

   r=4

elif i/100>1:

   r=3

elif i/10>1:

   r=2

else:

   r=1 ↑↑以上是判断数字的位数,并用r表示。

print(r,end=' ') 打印位数,将换行符替换为空格。

p=i

for j in range(1,r+1): 接下来是取每一位的数字,几位数就要取几次,所以确定集合边界。

q=p%10    用q表示每位的数字,从原始数字开始与10取模,这步是关键,也是难点。

p=i//10**j    将数字分别减少一位,以便下一循环取个位数字。

print(q,end='')    打印每位数字,去掉换行符

2.打印一个边长为n的正方形。

n=int(input(":"))

for i in range(1,n+1,1):

   if i==1: 对第一行特殊处理

       print(n*"*")

   elif i<n:

       print("*"+(n-2)*" "+"*") 中间行打印首位各一个*号,中间n-2个空格

   else:

       print(n*"*") 对最后一行特殊处理

修改: 将第一行和最后一行合进数组。

n=int(input(":"))

for i in range(1,n+1,1):

   if i in(1,n):

       print(n*"*")

   else:

       print("*"+(n-2)*" "+"*")

3.求100以内所有奇数的和。

sum=0

for i in range(1,100,2):

   sum+=i 每次的奇数相加

   print(sum)

修改:

sum=0

for i in range(1,100):

   if i % 2!=0:

       sum+=i

   print(sum)

4.判断学生成绩,90-100为A,89-80为B,79-70为C,69-60为D,60分以下为E。

num=int(input(">>>"))

if num<60:

   print("E")

else:

   if num>=90:

       print("A")

   elif num>=80:

       print("B")

   elif num>=70:

       print("C")

5.求1到5的阶乘之和。

sum=0

mul=1 阶乘从1开始

for i in range(1,6,1):

   mul*=i mul乘以i

   sum+=mul 求乘积和

   print(sum)

6.打印九九乘法表。

最初:

i=1

while i<10:

   for j in range(1,i+1):

       print(i,"*",j,"=",i*j)

   i+=1

修改:

i=1

while i<10:

   for j in range(1,i+1):

       print(i,"*",j,"=",i*j,end=' ')

   i+=1

   print()

修改二:

i=1

while i<10:

   for j in  range(1,i+1):

       if i*j<10:

           print(str(j)+'*'+str(i)+'='+str(i*j)+' ',end=' ')

       else:

           print(str(j)+'*'+str(i)+'='+str(i*j),end=' ')

   print()

   i+=1

方法二:

for i in range(1,10):

   multables=" "

   for j in range(1,i+1):

       multables+=(str(j)+"*"+str(i)+"="+str(j*i)+" ")

   print(multables)

for i in range(1,10):

   for j in range(1,i+1):

       if i*j<10:

           print(str(j)+'*'+str(i)+'='+str(i*j)+' ',end=' ')

       else:

           print(str(j)+'*'+str(i)+'='+str(i*j),end=' ')

   print()

7.打印100以内的Febonacci sequence。

a=0

b=1

while True:

   c=a+b

   if c<100:

       a=b

       b=c

   else:

       break

   print(c)

7.1打印位斐波纳契数列第101项。

a=0

b=1

c=0

print(1) 第一个是1

for i in range(1,101): #the 101th febonacci numb

   if c<10000:

       c=a+b Febonacci数的特征,上两组数相加

       a=b 将上一个数的值赋给第一个

       b=c 将和赋给第二个,然后循环处理。

       print(c)

8.求10万以内所有的质数。

for i in range(1,100001,2): 100000以内的奇数,偶数一定能被2整除

   for j in range(2,int(i**0.5)+1): 将这个数分别与2到它的开方的数字取模不为零,那么就是质数。

        if i%j==0:

           break  只要有一次能整除就不在循环。

   else:

       print(i)

9.打印菱形。

伪代码

m=int(input('请输入你想打印菱形的宽度:'))

n=m//2

for i in range(n,-1,-1):

   if i == n:

       print()

   print(i*'0'+(n-i)*'*'+(n-i)*'*'+i*'0')

for i in range(1,(n+1)):

   print(i*'0'+(n-i)*'*'+(n-i)*'*'+i*'0')

9.1

for i in range(-3,4):

   if i <0:

       print(' '*(-i)+(4+i)*'*')

   else:

       if i>0:

           print(' '*4+(4-i)*'*')

       else:

           print(7*'*')