In [ ]:
# 练习1

In [3]:
import random
def pingfang():
    m=int(input('请输入一个自然数,作为下界,回车结束'))
    k=int(input('请输入一个自然数,作为上界,回车结束'))
    number=random.randint(m,k)
    pingfang=0
    n=int(input('请输入你想输入的整数个数,回车结束'))
    i=0
    total=0
    
    while i!=n:
        i+=1
        number=random.randint(m,k)
        total=total+number
    else:
        average=total/n
        pingfang=average//2
        print(average)
        
pingfang()


请输入一个自然数,作为下界,回车结束100
请输入一个自然数,作为上界,回车结束1000
请输入你想输入的整数个数,回车结束2
554.0

练习2


In [5]:
import random,math
def log():
    m=int(input('请输入一个自然数,作为下界,回车结束'))
    k=int(input('请输入一个自然数,作为上界,回车结束'))
    number=random.randint(m,k)
    n=int(input('请输入你想输入的整数个数,回车结束'))
    i=0
    total_1=0
    total_2=0
    log=0
    
    while i!=n:
        i+=1
        number=random.randint(m,k)
        log=math.ceil(math.log(number))
        total_1=total_1+log
        division=1/log
        total_2=total_2+division
    else:
        total_1=total_1+log
        division=1/log
        total_2=total_2+division
        print(total_1)
        print(total_2)
log()


请输入一个自然数,作为下界,回车结束10
请输入一个自然数,作为上界,回车结束1000
请输入你想输入的整数个数,回车结束4
30
0.8428571428571427

In [ ]:
挑战性练习

In [2]:
import random, math


def win():
    print(
        '''
           ======恭喜你,你赢了=======
        
    
                ."".    ."",
                |  |   /  /
                |  |  /  /
                |  | /  /
                |  |/  ;-._ 
                }  ` _/  / ;
                |  /` ) /  /
                | /  /_/\_/\
                |/  /      |
                (  ' \ '-  |
                 \    `.  /
                  |      |
                  |      |
          
          ======恭喜你,你赢了=======
        '''
    )
    
    
def lose():
    print(
        '''
           ======YOU LOSE=======
        
    
                

                   .-"      "-.
                  /            \
                 |              |
                 |,  .-.  .-.  ,|
                 | )(__/  \__)( |
                 |/     /\     \|
       (@_       (_     ^^     _)
  _     ) \_______\__|IIIIII|__/__________________________
 (_)@8@8{}<________|-\IIIIII/-|___________________________>
        )_/        \          /
       (@           `--------`
       
       
       
          ======YOU LOSE=======
        '''
    )
    
def game_over():
    print(
        '''
           ======GAME OVER=======
        
             _________ 
            / ======= \ 
           / __________\ 
          | ___________ | 
          | | -       | | 
          | |         | | 
          | |_________| |________________ 
          \=____________/                ) 
          / """"""""""" \               / 
         / ::::::::::::: \          =D-' 
        (_________________) 

       
          ======GAME OVER=======
        '''
    )
    
def show_instruction():
    print('欢迎来到猜数游戏,此游戏有玩家指定在范围内指定一个数字,让计算机来猜数,由玩家根据猜的数值进行判断!在规定次数内计算机猜出答案则胜利,反之则失败')

def show_team():
    print('Directed by MouRen')


def menu():
    print('''=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====''')
             
def guess_game():
    n = int(input('请输入一个大于0的整数,作为神秘整数的上界,回车结束。'))
    number = int(input('请输入一个在猜数范围内的整数,作为答案'))
    guess_number = random.randint(1, n)
    max_times = math.ceil(math.log(n, 2))
    guess_times = 0
    a = 0
    
    
    while guess_times <= max_times:
        print (guess_number)
        judge = input('请判断猜测数与答案的大小,可输入>,<或=')
        
        
        
        if judge == '<':
            a=guess_number
            guess_number = random.randint(a,n)
            guess_times += 1
        
        elif judge == '=':
            win()
            break
            
            
        
        elif judge == '>':
            a=guess_number
            guess_number = random.randint(1,a)
            guess_times += 1
        
            
        else:
            print('神秘数字是:',number)
            lose()


def main():
    while True:
        menu()
        choice = int(input('请输入你的选择'))
        if choice == 1:
            show_instruction()
        elif choice == 2:
            guess_game()
        elif choice == 3:
            game_over()
            break
        else:
            show_team()