python菜鸟问题,猜数字游戏出现报错

作者&投稿:叱干晴 (若有异议请与网页底部的电邮联系)
Python猜数字游戏为什么显示错误次数~

你的猜数字游戏的Python程序中,记录所猜次数的变量guessesTaken,仅赋了一个初始值0,程序中并没改变其值,所以错误次数一直是0,你只需要在for-i循环中,guess=int(guess)下面, if guess<number :上面,加一句guessesTaken=guessesTaken+1 就会是正确的用了几次机会 猜中数字的数值了.
注意 这里用了几次机会猜中数字的数值比猜错的次数多一,所以如果你要打印猜错次数,只需要打印guessesTaken-1 就行了.

我在 python2.7版本运行无任何问题

我估计你是其他的版本python ,解释器把你获得的输入变成 str 了,
可以type(guess) 看看是什么类型
你的问题出现在 if guess < secret:
你可以 把
while guess != secret and tries < 6:
guess = input("What is yer guess?")
#增加两句话
print type(guess)
guess = int(guess)
#
if guess < secret:
print("Too low, ye scurvy dog!")
elif guess > secret:
print ("Too high, landlubber!")

这个是典型的异常处理,try except

这样,有异常会重新要求输入,程序不会中断



肯定的,因为你用int做了强制类型转换,如果输入的不是int类型就会报错,其实可以加个检测,如果输入不符合int类型自动忽略或者重新输入就好了

def panduan():
    a = input('input:')
    for i in a:
        if ord(i) not in range(48, 58):
            print('不是数字')
            break
    else:
        b = int(a)
        print(b)


while True:
    panduan()

这种麻烦点,不过挺好玩的



import random
answer = random.randint(1,100)
while True:
n = input('请输入1-100的数字:')
try:
n = int(n)
if n == answer:
break
else:
if n>answer:
print('数值过大')
else:
print('数值过小')
except:
pass
print('你赢了')

ps:我把你的答案变量名改成answer了,原谅我英文命名的强迫症




Python菜鸟求助 函数的嵌套问题
我怎么就变成大神了【笑哭】def A(a):#这个下面有个TAB,就是为了让下面的语句跟着你定义的这个A函数 print('i\\'m A') #这下面的缩进是在A函数里定义一个B函数 def B(b): #到这里的缩进就是B函数的范围了 print('i\\'m b') print('a+b=',a+b) #由于不跟着...

python 菜鸟的一个小问题~求大家帮帮忙啦!初学者,明天交作业,好心人...
你昨天不是问过了吗 ANY = input("Please input the amount spent on New Year's Day")AmountNewyear = []while True: try: ANY = float(ANY) if float(ANY) > 0: AmountNewyear.append(ANY) break else: raise Exception except: print("Please input the am...

python纯菜鸟问题,求助!
只有函数里返回值才需要return 列表的append方法会改变myList本身的值,所以也不需要什么return 去掉就对了 myList = []for i in range(0,9): myList.append(i)print (myList)

python菜鸟问题
英文 判断大小写时用ansi_raw, 字符下标递增,改成:import sysimport mathyuanshi=raw_input("please input")liebiao=list(yuanshi)changdu=len(yuanshi)value=0while value<26: value=value+1 i=0 while i<changdu: ansi_raw=ord(liebiao[i]) ansi=ansi_raw+int(value) ...

python自学菜鸟 expected an indented block什么意思
这是缩进的问题。在报错的语句处缩进出了问题,用tab键进行缩进

python菜鸟问题 报错 AttributeError: 'file' object has no attribute...
改一下这行代码即可:a = open('%s' % (filename),'r').read()

菜鸟关于python问题请教。 为什么以下代码不能执行函数中比较大小的功...
应该是max(int(a), int(b))你a和b是字符串,不转怎么比?如果不是在整数,就把int换成float

Python编程菜鸟诚心求教
看你的print高亮显色就知道是用的Python2。问题是因为Python里用\/做除法时,默认是取整,小数部分会自动省略。有三个方法是:1.c=5.0\/9(f-20)这样结果就可以显示小数部分了。2.在前面导入模块__future__里的division方法再操作 from __future__ import division (再加入你的代码,不做任何更改...

python自学菜鸟 expected an indented block什么意思
该缩进的地方没有缩进,就会报错expected an indented block 因为Python语言是一款对缩进非常敏感的语言 比如下面的代码 1 2 3 4 a = 1 b=0 if a>b:print "a>b"会报错 File "D:\/num.py", line 4 print "a>b"^ IndentationError: expected an indented block 修改如下 a = 1 b=2 if ...

python自学菜鸟 expected an indented block什么意思
该缩进的地方没有缩进,就会报错expected an indented block 因为Python语言是一款对缩进非常敏感的语言 比如下面的代码 a = 1b=0if a>b:print "a>b"会报错 File "D:\/num.py", line 4 print "a>b"^ IndentationError: expected an indented block 修改如下 a = 1b=2if a>b: print "...

青秀区17243955124: python猜数字游戏问题出在哪了? -
徵媚盐酸: 你好: 错误的原因在于,错误的次数是tries,而你判断错了: 正确的代码如下:# -*- coding: cp936 -*- import random secret = random.randint(1,100) guess = 0 tries = 0 print "这是一个猜数字游戏!" print "数字是1到99,你有六次机会!" ...

青秀区17243955124: 用python写猜数字小游戏 -
徵媚盐酸: 核心代码给你,具体的功能还需要自己完善. import time, random class GuessNum:def __init__(self):self._num = ''self.input_num = []self.count = 1 #猜对所用次数self.sec = 0 #猜对所用时间self._generate_num() def _generate_num(self):...

青秀区17243955124: 是一个关于Python的问题,设计一个猜数游戏 -
徵媚盐酸: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44# coding=utf8 importrandom MAXCOUNT =10defrun(num1, num2, count):ifnum1 ==num2:print"恭喜你!猜中了!...

青秀区17243955124: 我用python3.4写的猜数字游戏运行出错. -
徵媚盐酸: number =20 jieguo = False while jieguo == False: guess = int(input('Enter a number'))if number == guess:jieguo = Falseelif number > guess:print("xiaole") else:print("dale") print('Done') 我没有跑,应该就是错了一处

青秀区17243955124: Python 简单猜数游戏 不知道哪里出问题了,版本是2.7 -
徵媚盐酸: 我觉得你可以试试将下面的缩进,往前移一下 相当于在while循环的外面 if guess == secret: print "Avast! Ye got it! Found my secret, ye did !" else: print "No more gusses ! Better luck next time ,matey!" print "The secret number was",secret

青秀区17243955124: 新手初学python,编写了一个简单猜数字的程序,有一个问题 while循环不是和C一样当 guess不等于8时执行 -
徵媚盐酸: 会把最后一次循环执行结束再跳出,所以”我擦 对了”也会被打印出来.除非你在print("我擦")上面加一句break,才会立即跳出循环.

青秀区17243955124: 用python怎么实现一个猜字游戏? -
徵媚盐酸: word="Telephone" word=str.lower(word) #g储存单词 g="* * * * * * * * *" #把g变成个list g=g.split()for i in range(len(word)): for n in range(len(g)): print g[n], print "" guess=raw_input("Enter a letter: ") #让用户输入个字母,如果一样就...

青秀区17243955124: Python猜数字游戏为什么显示错误次数 -
徵媚盐酸: 你的猜数字游戏的Python程序中,记录所猜次数的变量guessesTaken,仅赋了一个初始值0,程序中并没改变其值,所以错误次数一直是0,你只需要在for-i循环中,guess=int(guess)下面, if guess注意 这里用了几次机会猜中数字的数值比猜错的次数多一,所以如果你要打印猜错次数,只需要打印guessesTaken-1 就行了.

青秀区17243955124: 我用python写了个猜数游戏,但是我发现跳不出while循环, -
徵媚盐酸: 写错了这里 tmep = input("继续猜啊:")

青秀区17243955124: PYTHON 新手菜鸟级问题
徵媚盐酸: 你输入错了,<<是左移. 1.关于2<<2 十进制数2,转换成二进制数是10,向左移动两位,就是在右侧补0点位,这样就变成1000了,二进制1000再转回十进制就是8. - 2.关于11>>1,同样道理 十进制数11,转换成二进制数是1011,向右移动一位,最右边的1被移掉,左侧补0点位(但左侧补0结果不变),就得到0101,二进制数0101再转回十进制就是5.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网