老阿訇 发表于 2021-5-19 21:25:57

新手求助,帮忙看看错在哪里??

import random as r

i = 3
a = r.randint(1,4)
guess = 0

while i:

    guess = input('请输入数字:')
   
    if guess.isdigit()!=True:
      print('输入有误')
      continue
   
    if guess == a:
      print('猜对了')

    else:
      i = i-1
      print('猜错了,还有%d次机会' % i)


#问题如上,始终无法输出猜对了,麻烦各位帮忙看下错在哪里呢??{:10_243:}

suchocolate 发表于 2021-5-19 21:37:56

a = str(r.randint(1, 4))

hrp 发表于 2021-5-19 21:39:16

import random as r

i = 3
a = r.randint(1, 4)
guess = 0

while i:

    guess = input("请输入数字:")

    if guess.isdigit() != True: # 这里仅判断字符串是否全部由数字组成
      print("输入有误")
      continue

    if int(guess) == a: # 用户输入始终是字符串,需要转换为整型
      print("猜对了")
      break # 猜对退出循环

    else:
      i = i - 1
      print("猜错了,还有%d次机会" % i)

老阿訇 发表于 2021-5-19 21:41:10

suchocolate 发表于 2021-5-19 21:37


可以了,为啥要加str呢{:10_277:}

肖-肖 发表于 2021-5-19 21:43:42


if guess == a:
改为
if int(guess) == a:
即可
因为input默认接收的是字符串需转换为整型

老阿訇 发表于 2021-5-19 21:43:58

hrp 发表于 2021-5-19 21:39


知道了,谢谢!!

suchocolate 发表于 2021-5-19 21:47:37

老阿訇 发表于 2021-5-19 21:41
可以了,为啥要加str呢

>>> 3 == '3'
False
>>>
页: [1]
查看完整版本: 新手求助,帮忙看看错在哪里??