练习1


In [1]:
import math,random

n=int(input('请输入随机数的个数:'))
m=int(input('请输入随机数下界:'))
k=int(input('请输入随机数上界:'))

sum=0
i=0

while i<n:
    i+=1
    num=random.randint(m,k)
    sum+=num

print(math.sqrt(sum/n))


请输入随机数的个数:3
请输入随机数下界:1
请输入随机数上界:3
1.2909944487358056

练习2


In [2]:
import math,random

n=int(input('请输入随机数的个数:'))
m=int(input('请输入随机数下界:'))
k=int(input('请输入随机数上界:'))

sum_1=0
sum_2=0
i=0

while i<n:
    i+=1
    num=random.randint(m,k)
    sum_1+=math.log(num)
    sum_2+=1/math.log(num)

print('西格玛log(随机整数):',sum_1)
print('西格玛1/log(随机整数):',sum_2)


请输入随机数的个数:4
请输入随机数下界:2
请输入随机数上界:5
西格玛log(随机整数): 4.0943445622221
西格玛1/log(随机整数): 4.416964242964376

练习3


In [3]:
import random

sum=0
i=0

n=int(input('请输入相加数的个数:'))
a=random.randint(1,9)
print('选取的随机数是:',a)
b=a

while i<n:
    i+=1
    sum+=b
    b+=a*10**i

print('s=a+aa+aaa+aaaa+aa...a:',sum)


请输入相加数的个数:5
选取的随机数是: 6
s=a+aa+aaa+aaaa+aa...a: 74070

挑战性练习


In [4]:
import random, math

def win():
    print('I Win!')
    
def lose():
    print('Sorry,I Lose...')

def game_over():
    print('Game over! Bye~')

def show_team():
    print('201611680433----Peggy Yang')

def show_instruction():
    print('用户随便选择一个整数,计算机猜测')

def menu():
    print('''
=====游戏菜单=====
  1. 游戏说明
  2. 开始游戏
  3. 退出游戏
  4. 制作团队
=====游戏菜单=====''')
             
def guess_game():
    n=int(input('请输入一个大于0的整数,作为神秘整数的上界,回车结束。'))
    min=1
    max=n
    
    max_times=math.ceil(math.log(n, 2))
    guess_times=0
    
    guess=random.randint(1,n)
    
    while guess_times<max_times:
        guess_times+=1
        print('一共可以猜',max_times,'次')
        print('已经猜了',guess_times,'次')
        print('是数字',guess,'吗?')
        judge=int(input('是,请输入0;偏大,请输入1;偏小,请输入-1:'))
        
        if judge==1:
            max=guess
            guess=random.randint(min,max)
            continue
                
        elif judge==-1:
            min=guess
            guess=random.randint(min,max)
            continue
        else:
            win()
            print('神秘数字是:', guess)
            print('比标准次数少', max_times-guess_times, '次')
            break
    else:
        num=int(input('神秘数字是:'))
        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. 游戏说明
  2. 开始游戏
  3. 退出游戏
  4. 制作团队
=====游戏菜单=====
请输入你的选择4
201611680433----Peggy Yang

=====游戏菜单=====
  1. 游戏说明
  2. 开始游戏
  3. 退出游戏
  4. 制作团队
=====游戏菜单=====
请输入你的选择1
用户随便选择一个整数,计算机猜测

=====游戏菜单=====
  1. 游戏说明
  2. 开始游戏
  3. 退出游戏
  4. 制作团队
=====游戏菜单=====
请输入你的选择2
请输入一个大于0的整数,作为神秘整数的上界,回车结束。30
一共可以猜 5 次
已经猜了 1 次
是数字 2 吗?
是,请输入0;偏大,请输入1;偏小,请输入-1:-1
一共可以猜 5 次
已经猜了 2 次
是数字 26 吗?
是,请输入0;偏大,请输入1;偏小,请输入-1:1
一共可以猜 5 次
已经猜了 3 次
是数字 25 吗?
是,请输入0;偏大,请输入1;偏小,请输入-1:1
一共可以猜 5 次
已经猜了 4 次
是数字 20 吗?
是,请输入0;偏大,请输入1;偏小,请输入-1:0
I Win!
神秘数字是: 20
比标准次数少 1 次

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

In [ ]: