python001_ 发表于 2022-5-24 21:52:57

怎么错了?

import random
while True:
    选择 = input("从1到5中选一个数字")
    if 选择 == "1":
      print("你有1次机会")
      break
    elif 选择 == "2":
      print("你有2次机会")
      break
    elif 选择 == "3":
      print("你有3次机会")
      break
    elif 选择 == "4":
      print("你有4次机会")
      break
    elif 选择 == "5":
      print("你有5次机会")
      break
    print("不要瞎写!")

int(选择)
机会 = 选择
#获取一个1到10的随机数
随机数 = random.randint(1,10)
while 机会 > 0:
    temp = input("不妨猜一下小甲鱼心里想的是哪个数字?")
    结果 = int (temp)

    if 结果 == 随机数:
      print("你是小甲鱼心里的蛔虫吗?!")
      print("猜中了也没奖励!")
      break
    if 结果 >= 随机数:
      print("大了!")
    if 结果 <= 随机数:
      print("小了!")
    机会 -= 1

Twilight6 发表于 2022-5-24 21:58:46


你将 “选择” 这个变量转化为 int 时,没有赋值给 “机会” 这个变量

导致 while 循环判断条件时,用 字符串 和 0 进行比较而报错

参考代码:

import random
while True:
    选择 = input("从1到5中选一个数字")
    if 选择 == "1":
      print("你有1次机会")
      break
    elif 选择 == "2":
      print("你有2次机会")
      break
    elif 选择 == "3":
      print("你有3次机会")
      break
    elif 选择 == "4":
      print("你有4次机会")
      break
    elif 选择 == "5":
      print("你有5次机会")
      break
    print("不要瞎写!")

机会 = int(选择)   # ---------------------------- 改了这里
#获取一个1到10的随机数
随机数 = random.randint(1,10)
while 机会 > 0:
    temp = input("不妨猜一下小甲鱼心里想的是哪个数字?")
    结果 = int (temp)

    if 结果 == 随机数:
      print("你是小甲鱼心里的蛔虫吗?!")
      print("猜中了也没奖励!")
      break
    if 结果 >= 随机数:
      print("大了!")
    if 结果 <= 随机数:
      print("小了!")
    机会 -= 1
页: [1]
查看完整版本: 怎么错了?