练习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)
练习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))
练习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))
挑战性练习:
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()