练习1:


In [7]:
import random

a=0
sum_n=0
n=int(input('请输入整数的个数:'))
m=int(input('请输入前界:'))
k=int(input('请输入后界:'))

def test(m,k):
    number = random.randint(m,k)
    return number

while a<=n:
    sum_n = sum_n + test(m,k)
    a=a+1

x = sum_n/n ** 0.5
print(x)


请输入整数的个数:4
请输入前界:1
请输入后界:3
4.0

练习2:


In [10]:
import random, math

n=int(input('请输入整数的个数:'))
m=int(input('请输入前界:'))
k=int(input('请输入后界:'))

def test(m,n,k):
    a=0
    sum1=0
    sum2=0
    while a<n:
        number = random.randint(m,k)
        num1 = math.log(number,10)
        num2 = 1/math.log(number,10)
        a = a + 1
        sum1 = sum1 + num1
        sum2 = sum2 + num2
        return sum1,sum2
        
print('西格玛log(随机整数) 和 西格玛1/log(随机整数) 分别为:',test(m,n,k))


请输入整数的个数:5
请输入前界:300
请输入后界:500
西格玛log(随机整数) 和 西格玛1/log(随机整数) 分别为: (2.56702636615906, 0.38955579622513203)

练习3:


In [25]:
def compute(a,n):
    m=n
    s=0
    while m>0:
        num=a*(10**(m-1))*(n-m+1)
        s=s+num
        m=m-1
    return s

a=int(input('请输入某随机整数:'))
n=int(input('请输入和数的个数:'))
print(a,'+',a,a,'+',a,a,a,'+...+',a,a,a,a,a,'...',a,'=: ',compute(a,n))


请输入某随机整数:2
请输入和数的个数:5
2 + 2 2 + 2 2 2 +...+ 2 2 2 2 2 ... 2 =:  24690

挑战性练习:


In [1]:
import random, math

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

    
def lose():
    print(
        '''
           ======YOU LOSE,computer=======
        
    
                

                   .-"      "-.
                  /            \
                 |              |
                 |,  .-.  .-.  ,|
                 | )(__/  \__)( |
                 |/     /\     \|
       (@_       (_     ^^     _)
  _     ) \_______\__|IIIIII|__/__________________________
 (_)@8@8{}<________|-\IIIIII/-|___________________________>
        )_/        \          /
       (@           `--------`
       
       
       
          ======YOU LOSE,computer=======
        '''
    )

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

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

def show_team():
    print(
        '''
        
        whoever,我就是制作团队,就是我!
        
        ''')

def show_instruction():
    print(
        '''
        人在1~1000间随机选取一个数字,然后告诉计算机要在某个
        限定次数内将这个数字猜出来。计算机每输入一个猜测值,计算
        机会告诉计算机,猜大了,小了还是对了,猜中则游戏结束,失
        败则游戏重新开始。
        ''')

def menu():
    print('''=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====''')
             
def guess_game():
    n = int(input('我输入一个大于0的整数,作为神秘整数的上界。'))
    number = int(input('我确定你最终要猜的那个数:'))
    max_times = math.ceil(math.log(n, 2))
    guess_times = 0
    min_ = 1
    max_ = n
    while guess_times <= max_times:
        print('计算机现在开始猜数!')
        guess = random.randint(min_,max_)
        print(guess)
        guess_times += 1
        print('计算机一共可以猜', max_times, '次')
        print('计算机已经猜了', guess_times, '次')
        
        if guess == number:
            win()
            print('神秘数字是:', guess)
            print('计算机猜的次数比标准次数少', max_times-guess_times, '次')
            break
        elif guess > number:
            print('抱歉计算机,你猜大了')
            max_ = guess
        else:
            print('抱歉计算机,你猜小了')
            min_ = guess
            
    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()


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


=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
我帮你选择,计算机:1

        人在1~1000间随机选取一个数字,然后告诉计算机要在某个
        限定次数内将这个数字猜出来。计算机每输入一个猜测值,计算
        机会告诉计算机,猜大了,小了还是对了,猜中则游戏结束,失
        败则游戏重新开始。
        
=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
我帮你选择,计算机:4

        
        whoever,我就是制作团队,就是我!
        
        
=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
我帮你选择,计算机:2
我输入一个大于0的整数,作为神秘整数的上界。30
我确定你最终要猜的那个数:27
计算机现在开始猜数!
21
计算机一共可以猜 5 次
计算机已经猜了 1 次
抱歉计算机,你猜小了
计算机现在开始猜数!
23
计算机一共可以猜 5 次
计算机已经猜了 2 次
抱歉计算机,你猜小了
计算机现在开始猜数!
28
计算机一共可以猜 5 次
计算机已经猜了 3 次
抱歉计算机,你猜大了
计算机现在开始猜数!
26
计算机一共可以猜 5 次
计算机已经猜了 4 次
抱歉计算机,你猜小了
计算机现在开始猜数!
26
计算机一共可以猜 5 次
计算机已经猜了 5 次
抱歉计算机,你猜小了
计算机现在开始猜数!
28
计算机一共可以猜 5 次
计算机已经猜了 6 次
抱歉计算机,你猜大了
神秘数字是: 27

           ======YOU LOSE,computer=======
        
    
                

                   .-"      "-.
                  /                             |              |
                 |,  .-.  .-.  ,|
                 | )(__/  \__)( |
                 |/     /\     \|
       (@_       (_     ^^     _)
  _     ) \_______\__|IIIIII|__/__________________________
 (_)@8@8{}<________|-\IIIIII/-|___________________________>
        )_/        \          /
       (@           `--------`
       
       
       
          ======YOU LOSE,computer=======
        
=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
我帮你选择,计算机:2
我输入一个大于0的整数,作为神秘整数的上界。10
我确定你最终要猜的那个数:6
计算机现在开始猜数!
7
计算机一共可以猜 4 次
计算机已经猜了 1 次
抱歉计算机,你猜大了
计算机现在开始猜数!
3
计算机一共可以猜 4 次
计算机已经猜了 2 次
抱歉计算机,你猜小了
计算机现在开始猜数!
5
计算机一共可以猜 4 次
计算机已经猜了 3 次
抱歉计算机,你猜小了
计算机现在开始猜数!
6
计算机一共可以猜 4 次
计算机已经猜了 4 次

           ======恭喜computer,你赢了=======
        
    
                ."".    ."",
                |  |   /  /
                |  |  /  /
                |  | /  /
                |  |/  ;-._ 
                }  ` _/  / ;
                |  /` ) /  /
                | /  /_/\_/                |/  /      |
                (  ' \ '-  |
                 \    `.  /
                  |      |
                  |      |
          
          ======恭喜computer,你赢了=======
        
神秘数字是: 6
计算机猜的次数比标准次数少 0 次
=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====
我帮你选择,计算机:3

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

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