Python code: daffodils number + bubble sort + guess number + perfect number

Exercise 1:

Number of daffodils:

'''
 Print the number of daffodils '''
 import math
 #Define a function to find the power in a list and
 def pow3 (list):

    sum = 0
for i in list:    
        sum += math.pow( int (i) , 3 )
     return sum
 def flower ():            #Method 1 finds the digits in turn
 for i in range ( 100 , 1000 ):    
        a = i // 1000     #Take the highest digit
         b = i // 100 % 10 #Take the hundreds digit
         c = i // 10 % 10   #Take the tens digit
         d = i % 10       #Take the last digit
         list = [a , b , c , d]
         if pow3(list) == i:
             print ( ' The number of daffodils within 100-1000 : %d' %i)
 def flower2 ():               #Method 2 : Convert the value to a list
 for i in range    (100, 1000):
        list1 = list ( str (i))
         if pow3(list1) == i:
             print ( ' Number of daffodils within 100-1000 : %d' %i)
 def flower3 (a , b):        #limit the range (also Can be made into raw_input method)
 for i in range (a , b):    
        list = []      #Division and remainder
         r = i
         while r:
            r,n = divmod(r,10)
            list.append(n)
        if pow3(list) == i:
             print ( ' The number of daffodils within 100-1000 is : %d' %i)

Exercise 2:

Bubble Sort

'''
python: 冒泡排序
'''
class Sort(object):
    def __init__(self,lists):
        if isinstance(lists,list):      # 或用type(lists).__name__
            self.lists = lists
        elif isinstance(lists,str):
            self.lists = list(lists)
        else:
            print('请输入正确的排序序列')
    def bubble(self):           # 冒泡排序
        print('排序前: ',self.lists)
        length = len(self.lists)
        count = 0
        for i in range(length):
            for j in range(i+1,length):
                if self.lists[i] > self.lists[j]:     # 从小到大排序
                    count +=1
                    print('%d.前者比后者数值大,需交换数据'%count,self.lists[i],self.lists[j])
                    self.lists[i],self.lists[j] = self.lists[j],self.lists[i]
                    print('交换后的序列是:',self.lists)
        print('冒泡排序后的序列是:',self.lists)
        return self.lists
import random
def random_int(length):     # 随机生成length1-100之间的整数
    list = []
    for i in range(length):
        list.append(random.randint(1,100))
    return list

练习3:猜数

import random

def guess(number):
    numMax = 99
    numMin = 1
    count = 0
# num = input('Please enter an integer %d-%d number: '%(numMin,numMax))
    while True:
        num = input('Please Enter an integer %d-%d number: '%(numMin,numMax))
        if num < number:
            numMin = num
            print("Please enter %d-%d"%(numMin,numMax))
            count += 1
# continue
        elif num > number:
            numMax = num
            print("Please input %d-%d"%(numMin,numMax))
            count += 1
        else:
            print "Guess Right for %d times"%count
            break
if __name__==' __main__':
       a = random.randint (1.99)

       guess(a)

from random import randint
 def guessNum () :
     num = randint ( 0 , 100 )     # random number to guess
     flag = False
     small_num = 0
     big_num = 100
     count = 0
 while flag == False :
 raw_num = int ( input ( " input requires Guessed number : " ))
 if raw_num == num :
                                count +=1
            flag = True
        elif raw_num > num:
            count += 1
            big_num = raw_num
            print("太大了,请输入%d - %d 的数字"%(small_num,raw_num))
        elif raw_num < num:
            count += 1
            small_num = raw_num
            print("太小了,请输入%d - %d 的数字"%(raw_num,big_num))
        else:
            print('请输入0-100内的数字')
    print('count: %d'%count)
guessNum()

练习4: 完全数

def isPerfect(num):
    lists = [i for i in range(1,num) if not (num%i)]
    if sum(lists) == num:
        print '%d is perfect!'%num
for number in range(2,10000):

    isPerfect(number)

练习5: 9*9乘法表

def print99():
    for i in range(1,10):
        for j in range(1,i+1):
            print '%d*%d=%d '%(j,i,i*j),
        print '\n'

print99()

python3

print('%d*%d=%d '%(j,i,i*j),end='')

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325383790&siteId=291194637