猜数游戏:随机生成一个1-100之间的数x,再让用户输入一个1-100的数,如果输入的数比x大,提示“数字大了,继续”,如果比x小,提示“数字小了,继续”,一直到猜中为止,提示“猜对了!”。将用户所有输入的数都保存在一个文件里,等用户猜中后,再把文件里的每个数据都读出来,求出平均数。
import random
def isNum(n):
try:
n = int(n)
except:
print('输入错误不计次数:请输入一个整数')
return n
def guess():
global n
n = input('请猜一个整数:')
n = isNum(n)
while(type(n)!=int):
n = input('请猜一个整数:')
n = isNum(n)
x = random.randint(1,100)
print('x:',x) #此行用于测试
count = 1
guess()
with open('text.txt','w') as f:
f.write('') #如果文件已存在,删空
while n != x:
count += 1
with open('text.txt','a') as f:
f.write(str(n)+'\n')
if n > x:
print('数字大了,继续')
elif n < x:
print('数字小了,继续')
guess()
print(f'你猜对了,共猜了{count}次')
with open('text.txt','a') as f:
f.write(str(n)+'\n')
with open('text.txt','r') as f:
data = f.read()
print(f'你猜过的数字:\n{data}')
total = [int(i) for i in data.split('\n') if i]
print(f'平均数为: {sum(total)/len(total):.2f}')