In [2]:
#练习 1:写函数,求n个随机整数均值的平方根,整数范围在m与k之间。
#练习 2:写函数,共n个随机整数,整数范围在m与k之间,求西格玛log(随机整数)及西格玛1/log(随机整数)
#练习 3:写函数,求s=a+aa+aaa+aaaa+aa...a的值,其中a是[1,9]之间的随机整数。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘输入。
#挑战性练习:将猜数游戏改成由用户随便选择一个整数,让计算机来猜测的猜数游戏。

In [9]:
#练习 1:
def my_sqrt():
    import random,math
    n=int(input('请输入一个整数n(即将要求平均值的平方根的整数的个数):'))
    i=0
    num=0
    total=0
    m=int(input('请输入随机整数的下限:'))
    k=int(input('请输入随机整数的上限:'))
    while(i<n):
        num=random.randint(m,k)
        print (num)
        i+=1
        total+=num
    ave=total/n
    print ('输入的',n,'个整数的平均值的平方根为:')
    return math.sqrt(ave)

my_sqrt()


请输入一个整数n(即将要求平均值的平方根的整数的个数):6
请输入随机整数的下限:10
请输入随机整数的上限:20
17
11
15
18
15
17
输入的 6 个整数的平均值的平方根为:
Out[9]:
3.9370039370059056

In [4]:
#练习 2:
def my_log():
    import random,math
    n=int(input('请输入一个整数n(即随机整数的个数):'))
    i=0
    num1=0
    num2=0
    total1=0
    total2=0
    m=int(input('请输入随机整数的下限:'))
    k=int(input('请输入随机整数的上限:'))
    while(i<n):
        randnum=random.randint(m,k)
        num1=math.log(randnum)
        num2=1/math.log(randnum)
        print (randnum)
        i+=1
        total1+=num1
        total2+=num2

    print ('西格玛log(随机整数)及西格玛1/log(随机整数)分别为:')
    return total1,total2

my_log()


请输入一个整数n(即随机整数的个数):5
请输入随机整数的下限:1
请输入随机整数的上限:10
2
7
4
9
5
西格玛log(随机整数)及西格玛1/log(随机整数)分别为:
Out[4]:
(7.832014180505468, 3.7543954515762263)

In [15]:
#练习 3:写函数,求s=a+aa+aaa+aaaa+aa...a的值,其中a是[1,9]之间的随机整数。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘输入。
def my_sum():
    import random
    n=int(input('请输入一个整数n(即求和整数的个数):'))
    randnum=random.randint(1,9)
    i=0
    total2=0
    while(i<n):
        i+=1
        j=0
        total1=0
        while(j<i):
            num=randnum*(10**j)
            total1+=num
            j+=1 
        print(total1)
        total2+=total1
    print('以上',n,'个整数的和为',total2)
    return total2

my_sum()


请输入一个整数n(即求和整数的个数):5
9
99
999
9999
99999
以上 5 个整数的和为 111105
Out[15]:
111105

In [19]:
#挑战性练习:
import random,math

def win():
    print(
        '''
           ======恭喜你,你赢了,机器没有猜中=======
        
    
                ."".    ."",
                |  |   /  /
                |  |  /  /
                |  | /  /
                |  |/  ;-._ 
                }  ` _/  / ;
                |  /` ) /  /
                | /  /_/\_/\
                |/  /      |
                (  ' \ '-  |
                 \    `.  /
                  |      |
                  |      |
          
          ======恭喜你,你赢了,机器没有猜中=======
        '''
    )   

def welcome():
    print(
        '''
           ======欢迎来到猜数游戏=======
        
                     /  \     ,    ,
           _._     _ |oo| _  / \__/ \
    
          _||||   ((/ () \))   /   \
    
          |||||/|  ( ==== )    |oo|    
           \____/  _`\  /'_    /   \
    
           /   /.-' /\<>/\ `\.( () )_._      
           |    `  /  \/  \  /`'--'////)
            \__,-'`|  |.  |\/ |/\/\|"\"` 
                   |  |.  | \___/\___/  
                   |  |.  |   |    |
          
          ======欢迎来到猜数游戏=======
        '''
    )
    
def lose():
     print(
        '''
           ======抱歉,你输了,机器猜中了=======
        
    
                

                   .-"      "-.
                  /            \
                 |              |
                 |,  .-.  .-.  ,|
                 | )(__/  \__)( |
                 |/     /\     \|
       (@_       (_     ^^     _)
  _     ) \_______\__|IIIIII|__/__________________________
 (_)@8@8{}<________|-\IIIIII/-|___________________________>
        )_/        \          /
       (@           `--------`
       
       
       
          ======抱歉,你输了,机器猜中了=======
        '''
    ) 

def game_over():
     print(
        '''
           ======GAME OVER=======
        
             _________ 
            / ======= \ 
           / __________\ 
          | ___________ | 
          | | -       | | 
          | |         | | 
          | |_________| |________________ 
          \=____________/                ) 
          / """"""""""" \               / 
         / ::::::::::::: \          =D-' 
        (_________________) 

       
          ======GAME OVER=======
        '''
    )

def show_team():
    print('''
             =====TEAM COMPOSITION=====
             
                Programmer:Rita
                Designer:Rita
                Director: Rita
                
             =====TEAM COMPOSITION=====
           '''
    )

def show_instruction():
    print('''
             =====INSTRUCTION=====
             
     1.Please set the max number of random
2.Please set the number you want machine to guess
     3.Wait if the machine can guess it
                
             =====INSTRUCTION=====
           '''
    )

def menu():
    print('''
             =====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
             '''
    )
    
def guess_game():
    n = int(input('请输入一个大于0的整数,作为神秘整数的上界,回车结束。'))
    number = int(input('请输入你设定的整数,回车结束。'))
    print('\n\n')
    max_times = math.ceil(math.log(n, 2))
    guess_times = 0
    s=1
    e=n
    while guess_times <= max_times:
        guess = random.randint(s, e)
        print('机器猜的数字是',guess)
        guess_times += 1
        print('一共可以猜', max_times, '次,机器已经猜了', guess_times, '次。')
        
        if guess == number:
            lose()#机器猜中
            print('神秘数字是:', guess,',机器比标准次数少', max_times-guess_times, '次')
            break
        elif guess > number:
            e=guess-1
            print('机器猜大了\n\n')
        else:
            s=guess+1
            print('机器猜小了\n\n')    
    else:
        win()#机器没猜出来

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


#主程序
if __name__ == '__main__':
    main()


             =====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
             
请输入你的选择1

             =====INSTRUCTION=====
             
     1.Please set the max number of random
2.Please set the number you want machine to guess
     3.Wait if the machine can guess it
                
             =====INSTRUCTION=====
           

             =====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
             
请输入你的选择4

             =====TEAM COMPOSITION=====
             
                Programmer:Rita
                Designer:Rita
                Director: Rita
                
             =====TEAM COMPOSITION=====
           

             =====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
             
请输入你的选择2

           ======欢迎来到猜数游戏=======
        
                     /  \     ,    ,
           _._     _ |oo| _  / \__/     
          _||||   ((/ () \))   /       
          |||||/|  ( ==== )    |oo|    
           \____/  _`\  /'_    /       
           /   /.-' /\<>/\ `\.( () )_._      
           |    `  /  \/  \  /`'--'////)
            \__,-'`|  |.  |\/ |/\/\|""` 
                   |  |.  | \___/\___/  
                   |  |.  |   |    |
          
          ======欢迎来到猜数游戏=======
        
请输入一个大于0的整数,作为神秘整数的上界,回车结束。100
请输入你设定的整数,回车结束。78



机器猜的数字是 86
一共可以猜 7 次,机器已经猜了 1 次。
机器猜大了


机器猜的数字是 19
一共可以猜 7 次,机器已经猜了 2 次。
机器猜小了


机器猜的数字是 26
一共可以猜 7 次,机器已经猜了 3 次。
机器猜小了


机器猜的数字是 43
一共可以猜 7 次,机器已经猜了 4 次。
机器猜小了


机器猜的数字是 53
一共可以猜 7 次,机器已经猜了 5 次。
机器猜小了


机器猜的数字是 70
一共可以猜 7 次,机器已经猜了 6 次。
机器猜小了


机器猜的数字是 76
一共可以猜 7 次,机器已经猜了 7 次。
机器猜小了


机器猜的数字是 84
一共可以猜 7 次,机器已经猜了 8 次。
机器猜大了



           ======恭喜你,你赢了,机器没有猜中=======
        
    
                ."".    ."",
                |  |   /  /
                |  |  /  /
                |  | /  /
                |  |/  ;-._ 
                }  ` _/  / ;
                |  /` ) /  /
                | /  /_/\_/                |/  /      |
                (  ' \ '-  |
                 \    `.  /
                  |      |
                  |      |
          
          ======恭喜你,你赢了,机器没有猜中=======
        

             =====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
             
请输入你的选择3

           ======GAME OVER=======
        
             _________ 
            / ======= \ 
           / __________\ 
          | ___________ | 
          | | -       | | 
          | |         | | 
          | |_________| |________________ 
          \=____________/                ) 
          / """"""""""" \               / 
         / ::::::::::::: \          =D-' 
        (_________________) 

       
          ======GAME OVER=======