练习1


In [3]:
import random, math

def compute_average():
    n=int(input('请您输入将要计算的随机整数的个数'))
    m=int(input('请输入随机数范围的下届'))
    k=int(input('请输入随机数范围的上届'))
    
    num=0
    total=0
    while num<n:
        number=random.randint(m, k)
        total=total+number
        num+=1
    
    a=total/n
    result=math.sqrt(a)
    print('计算结果为',result)
        
compute_average()


请您输入将要计算的随机整数的个数4
请输入随机数范围的下届2
请输入随机数范围的上届789
计算结果为 20.89258241577618

练习2


In [9]:
import random, math

def compute_total():
    n=int(input('请您输入将要计算的随机整数的个数'))
    m=int(input('请输入随机数范围的下届'))
    k=int(input('请输入随机数范围的上届'))
    
    num=0
    total1=0
    total2=0
    while num<n:
        number=random.randint(m, k) 
        l=math.log(number)
        num+=1
        total1=total1+l
        total2=total2+1/l
        
    print('log(随机整数)的和为',total1)
    print('1/log(随机整数)的和为',total2)
    
compute_total()


请您输入将要计算的随机整数的个数4
请输入随机数范围的下届1
请输入随机数范围的上届8
log(随机整数)的和为 4.394449154672439
1/log(随机整数)的和为 3.6409569065073493

练习3


In [31]:
import math, random

def compute_s():
    n=int(input('请您输入将要计算的整数个数'))
    a=random.randint(1,9)
    print('您的随机数为',a)
    
    i=0
    j=0
    total=0
    while i<n:
        j=10*j+a
        i+=1
        total+=j
        
    print('您的随机数叠加之和为',total)
    
compute_s()


请您输入将要计算的整数个数3
您的随机数为 4
您的随机数叠加之和为 492

挑战性练习


In [ ]:
import math,random

def welcome():
    print('''===欢迎来到猜数挑战===
               计算机能猜到你的心
                不相信就来挑战吧!''')
def menu():
    print('''=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====''')
    
def show_instruction():
    print('''=======游戏说明=======
             你将输入一个你喜欢的正整数
                  范围在0~1000
            由计算机来猜测你输入的数是什么
        你将通过告诉计算机猜大了还是小了来提示它
             如果在标准次数内没有猜出来
                    则你获胜
              如果在标准次数内猜到了
                  则计算机获胜
             有没有勇气来挑战计算机呢''')
    
def win():
    print('''======计算机都猜不出来!你赢啦!======
    ──────▄▄▄▄▄███████████████████▄▄▄▄▄──────
  ────▄██████████▀▀▀▀▀▀▀▀▀▀██████▀████▄────
  ──▄██▀████████▄─────────────▀▀████─▀██▄──
  ─▀██▄▄██████████████████▄▄▄─────────▄██▀─
  ───▀█████████████████████████▄────▄██▀───
  ─────▀████▀▀▀▀▀▀▀▀▀▀▀▀█████████▄▄██▀─────
  ───────▀███▄──────────────▀██████▀───────
  ─────────▀██████▄─────────▄████▀─────────
  ────────────▀█████▄▄▄▄▄▄▄███▀────────────
  ──────────────▀████▀▀▀████▀──────────────
  ────────────────▀███▄███▀────────────────
  ───────────────────▀█▀───────────────────''')
    
def lose():
    print('''你给的数太简单啦
              计算机赢过你了
           下次换个更难的试试吧
  --^----------,--------,-----,-------^--,
| ||||||||| `--------' | O |--|
`+---------------------------^----------|--|
`\_,-------, _________________________|
/ XXXXXX /`| /
/ XXXXXX / `\ /
/ XXXXXX /\______( 
/ XXXXXX /
/ XXXXXX /
(________(
`------''')
    
def game_over():
    print('''======游戏结束======
                 谢谢你的参与
                 欢迎你下次再战
                   如果喜欢
           请在app store给我们好评吧''')
    
def show_team():
    print('''======制作团队======
               程序设计:刘小贱
               美术设计:刘小贱
               程序推广:刘小贱
            赞助商家:阿里爸爸,网姨''')

def guess_game():
    n=int(input('请输入一个你喜欢的正整数范围在1~1000'))
    print('500')
    m=500
    max_times = math.ceil(math.log(1000, 2))
    guess_times = 0
    
    while guess_times<=max_times:
          choice=int(input('''计算机猜大了还是猜小了?
                                  1.猜大了
                                  2.猜小了
                                  3.猜对了
                                (请输入数字)'''))
          
        
          if choice==1:
              guess=random.randint(1,m)
              m=guess
              print(guess)
          
          elif choice==2:
              guess=random.randint(m,1000)
              m=guess
              print(guess)
          
          else:
              lose()
          
          guess_times += 1
          print('一共可以猜', max_times, '次')
          print('计算机已经猜了', guess_times, '次')
            
    else:
        win()
              
          
def main():
    while True:
        welcome()
        menu()
        ch=int(input('请输入你的选择'))
        
        if ch==1:
            show_instruction()
        elif ch==2:
            guess_game()
        elif ch==3:
            game_over()
            break
        else:
            show_team
          
if __name__ == '__main__':
    main()


===欢迎来到猜数挑战===
               计算机能猜到你的心
                不相信就来挑战吧!
=====游戏菜单=====
                1. 游戏说明
                2. 开始游戏
                3. 退出游戏
                4. 制作团队
             =====游戏菜单=====

In [ ]: