注册 登录
编程论坛 Python论坛

萌新求教,想知道这个程序为什么这么运行

samskeyti 发布于 2019-08-14 15:35, 2936 次点击
import random
secert = random.randint(1,100)
guess = 0
tries = 0
print("AHOY!I AM THE DREAD PIRATE ROBERS,AND I HAVW A SECRET!")
print("IT IS A NUMBER FROM 1 TO 99. I WILL GIVE YOU 6 TRIES.")
while guess!= secert and tries < 6:
    guess = int(input("WHAT IS YER GUESS?"))
    if guess<66:
        print("TOO LAW")
    elif guess>66:
        print("TOO HIGH")
    tries = tries + 1
    if guess==66:
        print("YOU FOUND MY SECERT!")
    else:
        print("NO MORE GUESSES! BETTER LUCK NEXT TIME, MATEY!")
        print("THE SECERT NUMBER WAS",66)
   
只有本站会员才能查看附件,请 登录
图片是运行后结果。想问该怎么改
16 回复
#2
wp2319572019-08-14 15:39
回复 楼主 samskeyti
你想问啥
还有 相关提示 为什么不用中文
#3
samskeyti2019-08-14 15:45
回复 2楼 wp231957
这是个猜数的小游戏。正常是我随机输入一个数后它回答说 太大 或太小,然后再让我猜。但是我这个程序一运行,随机输入一个数后,后面答案也跟着出来了。我想问该怎么改
#4
wp2319572019-08-14 16:00
回复 3楼 samskeyti
程序代码:

import random as rd


x=rd.randint(1,100)

while True:
  guess = int(input("请输入你猜的数字"))
  if guess==x:
    print("猜测正确,准备数字就是",x)
    break
  elif guess>x:
    print("猜大了")  
  elif  guess<x:
    print("猜小了")  



关于猜数字  基础版本 应该差不多是这个样子
#5
wp2319572019-08-14 16:03
回复 3楼 samskeyti
稍稍晋级版:
程序代码:

import random as rd


x=rd.randint(1,100)
num=0
while True:
  guess = int(input("请输入你猜的数字"))
  if guess==x:
    num+=1
    print("猜测正确,准备数字就是",x,"你用了",num,"次猜中")
    break
  elif guess>x:
    print("猜大了")  
    num+=1
  elif  guess<x:
    num+=1
    print("猜小了")  


e:\pytest>python ex28.py
请输入你猜的数字55
猜大了
请输入你猜的数字45
猜小了
请输入你猜的数字48
猜小了
请输入你猜的数字49
猜小了
请输入你猜的数字52
猜小了
请输入你猜的数字54
猜测正确,准备数字就是 54 你用了 6 次猜中
#6
samskeyti2019-08-14 16:05
回复 5楼 wp231957
enen 这个我知道,我现在不明白的是我这个问题出现在哪,想知道怎么改
#7
wp2319572019-08-14 16:07
回复 6楼 samskeyti
if guess==66:
        print("YOU FOUND MY SECERT!")
    else:
        print("NO MORE GUESSES! BETTER LUCK NEXT TIME, MATEY!")
        print("THE SECERT NUMBER WAS",66)

你这个代码 不就是 正确的 输出 一个提示   错误的 输出正确的数字  你就是这样设计的

你应该设计  当你实在是猜不出来了  或者不想玩了  才可以告诉正确答案
#8
samskeyti2019-08-14 16:11
回复 7楼 wp231957
对啊 正常应该是这样的啊,但是现在运行不出来啊 哎 愁死了 太难了
#9
samskeyti2019-08-14 16:11
回复 7楼 wp231957
只有本站会员才能查看附件,请 登录
我出来是这样的。。。直接泵答案
#10
wp2319572019-08-14 16:18
回复 9楼 samskeyti
7楼不是说了吗  你的代码 就是那样写的  它当然print了  至于如何改  还要看你咋设计了
#11
samskeyti2019-08-14 16:23
回复 10楼 wp231957
大神,我不太明白你的意思。这个代码没错吗?可正常出来应该是这样的啊,如果没错,那为什么出来不是这样的啊?
只有本站会员才能查看附件,请 登录
#12
samskeyti2019-08-14 16:26
回复 10楼 wp231957
只有本站会员才能查看附件,请 登录
哎 这个程序是对的吗?可为啥运行后不是这个样啊
#13
wp2319572019-08-14 16:27
回复 11楼 samskeyti
我不是反复说了吗  取决你如何设计  也就是说 你想啥时候公布答案 或者干脆不公布
把 print("THE SECERT NUMBER WAS",66)  直接删掉  或者注释掉
#14
samskeyti2019-08-14 16:30
回复 13楼 wp231957
我删掉试试,大神你是说了,可我是真的不懂啊,它要是按照我的想法设计,那它为什么不是按照预期运行啊,所以我一直在问这个要怎么改
#15
samskeyti2019-08-14 16:31
回复 13楼 wp231957
准确来说我都不知道这个是不是正确的程序 可能你们大神真的太厉害 理解不了我的意思
#16
wp2319572019-08-14 16:34
回复 15楼 samskeyti
编程应该有自己的思想
哪怕你设计一个最简单的猜数程序   也要有自己的思想

比如你看我5楼代码   核心思想就是你随便猜  猜100次 1000次 都行  猜不对 就不告诉你正确答案

当然你也可以设计成,超过几次 就终止游戏了 不允许你随便猜
#17
samskeyti2019-08-14 16:37
回复 16楼 wp231957
这个设计的就是只能猜六次啊 哎 大神你方便留个微信吗 这么问太不方便来了
1