设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 11000|回复: 3
打印 上一主题 下一主题

关于赋值的逻辑问题

[复制链接]

6

主题

0

好友

116

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2017-12-18 13:52:57 |显示全部楼层 |倒序浏览
对于标红语句请问crosssin先生,如果我的初始文件设置为0 0 0 那么最小游戏次数(mintimes)就会永远为零, 如何实现将第一次游戏的times赋给mintimes,其后所有times与最小值mintimes比较?
from random import randint
f = open('c:\python\game.txt')
score = f.read().split()
f.close()
gametimes = int(score[0])
mintimes   = int (score[1])
totaltimes = int (score[2])
if gametimes > 0:
    avgtimes = totaltimes / gametimes
else:
    avgtimes =0
print('你完了%d次,最少%d轮猜出,平均%.3f猜出答案'%(
gametimes, mintimes, avgtimes))

num = randint (1,10)
times = 0
print("开始猜")
bingo = False
while bingo == False:
      times += 1
      answer = int(input ())
      if answer < num:
          print ('small')
      if answer == num:
          print ('bingo')
          bingo = True
      if answer > num:
          print('big')
totaltimes += times
gametimes +=1
if gametimes == 0 or times < mintimes :
      mintimes = times
result = '%d %d %d'%(gametimes, mintimes, totaltimes)

f = open ('c:\python\game.txt','w')
f.write (result)
f.close()


回复

使用道具 举报

6

主题

0

好友

116

积分

注册会员

Rank: 2

沙发
发表于 2017-12-18 15:29:35 |显示全部楼层
TED 发表于 2017-12-18 14:22
可以把初始的mintimes设置个比较大的值比如100,  保证第一次作比较是第一次游戏的times比它小就好了 ...

谢谢,您说的确实是方法,但是这样初始的是最少玩100次 不符合实际啊.
回复

使用道具 举报

6

主题

0

好友

116

积分

注册会员

Rank: 2

板凳
发表于 2017-12-19 02:34:24 |显示全部楼层
本帖最后由 pylearner 于 2017-12-19 03:01 编辑
TED 发表于 2017-12-18 16:10
你显示的时候可以不显示初始值为100啊。。 mintime是记录玩的最小值的,它的初始值本身就是没有意义的。 ...

谢谢! 但是我不明白放在哪里让这个mintimes = 100 只执行一次.
回复

使用道具 举报

6

主题

0

好友

116

积分

注册会员

Rank: 2

地板
发表于 2017-12-19 16:07:20 |显示全部楼层
TED 发表于 2017-12-19 15:41
不对欸 它这个条件语句里面不是已经有个 if gametimes==0了么。。 这个不就可以保证第一次的时候 把玩的 ...

恩恩 我也发现了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-20 10:23 , Processed in 0.028822 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部