In [1]:
#练习 1:写函数,求n个随机整数均值的平方根,整数范围在m与k之间。
import random
import math
i=0
sum=0
n=int(input('请输入所需随机数的个数n:'))
m=int(input('请输入整数所在的范围的左端点值m:'))
k=int(input('请输入整数所在的范围的右端点值k:'))
while i < n:
    a = random.randint(m,k)
    sum = sum + a
    i += 1
        
print(math.sqrt(sum/n))


请输入所需随机数的个数n:2
请输入整数所在的范围的左端点值m:1
请输入整数所在的范围的右端点值k:9
2.8284271247461903

In [2]:
#练习 2:写函数,共n个随机整数,整数范围在m与k之间,求西格玛log(随机整数)及西格玛1/log(随机整数),log(x)以e为底x的对数
import math
i = 0
sum1 = 0
sum2 = 0
n = int(input('请输入所需随机数的个数n:'))
m = int(input('请输入正整数所在的范围的左端点值m:'))
k = int(input('请输入正整数所在的范围的右端点值k:'))
while i < n:
    a = random.randint(m,k)
    sum1 = sum1 + math.log(a)
    sum2 = sum2 + 1 / math.log(a)
    i += 1
print(sum1,'\n',sum2,sep='')


请输入所需随机数的个数n:2
请输入正整数所在的范围的左端点值m:5
请输入正整数所在的范围的右端点值k:9
3.2188758248682006
1.2426698691192237

In [9]:
#练习 3:写函数,求s=a+aa+aaa+aaaa+aa...a的值,其中a是[1,9]之间的随机整数。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘输入。

def compute_sum(n,a):
    s = a
    i = 1
    while i < n:
        s = (a + s*10) + s
        i += 1
    return s

n = int(input('请输入需要相加的数字的个数:'))

import random
a = random.randint(1,9)


print('随机数字是:',a)        
print('和为s:',compute_sum(n,a))


请输入需要相加的数字的个数:2
随机数字是: 5
和为s: 60

In [1]:
'''
挑战性练习:仿照task5,将猜数游戏改成由用户随便选择一个整数,让计算机来猜测的猜数游戏,
要求和task5中人猜测的方法类似,但是人机角色对换,由人来判断猜测是大、小还是相等,请写出完整的猜数游戏。
'''

import random, math


def win():
    print('Win!')
    
def lose():
    print('Lose!')

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

def show_team():
    print('Show team!')

def show_instruction():
    print('Show instruction!')

def menu():
    print('=====游戏菜单=====')
    print('1. 游戏说明')
    print('2. 开始游戏')
    print('3. 退出游戏')
    print('4. 制作团队')
    print('=====游戏菜单=====')

#主程序,为测试函数结果
menu()
def guess_game():
    n = int(input('请输入一个大于0的整数,作为这次游戏的神秘整数,回车结束。'))
    
    max_times = math.ceil(math.log(n, 2))
    guess_times = 0
    
    guess_number = random.randint(n - 10, n + 10)
    while guess_times < max_times:
        print(guess_number)
        guess_times += 1
        print('一共可以猜', max_times, '次')
        print('你已经猜了', guess_times, '次')
        
        if guess_number == n:
            win()
            print('神秘数字是:', n)
            print('你比标准次数少', max_times-guess_times, '次')
            break
        else:
            print(input('请输入计算机猜大了还是猜小了:'))
            if guess_number > n:
                guess_number = random.randint(n-10, guess_number)
            else:
                guess_number = random.randint(guess_number, n + 10)
                
    else:
        print('神秘数字是:', n)
        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. 游戏说明
2. 开始游戏
3. 退出游戏
4. 制作团队
=====游戏菜单=====
请输入你的选择2
请输入一个大于0的整数,作为这次游戏的神秘整数,回车结束。20
10
一共可以猜 5 次
你已经猜了 1 次
请输入计算机猜大了还是猜小了:猜小了
猜小了
21
一共可以猜 5 次
你已经猜了 2 次
请输入计算机猜大了还是猜小了:猜大了
猜大了
14
一共可以猜 5 次
你已经猜了 3 次
请输入计算机猜大了还是猜小了:猜小了
猜小了
19
一共可以猜 5 次
你已经猜了 4 次
请输入计算机猜大了还是猜小了:猜小了
猜小了
22
一共可以猜 5 次
你已经猜了 5 次
请输入计算机猜大了还是猜小了:猜大了
猜大了
神秘数字是: 20
Lose!
=====游戏菜单=====
1. 游戏说明
2. 开始游戏
3. 退出游戏
4. 制作团队
=====游戏菜单=====
请输入你的选择3
Game over!