蜜雪冰城 发表于 2022-3-18 17:50:05

求修改

import random
num = random.randint(0, 100)
counts = 10
while counts > 0:
   
    choice = input("请输入你要猜测的数字:")
    if choice > num:
      print("你猜大了")
    elif choice < num:
      print("你猜小了")
   
    elif choice == num:
      print("你真棒, 你猜对了!")
      print(f'你一共用了{counts}次机会')
      break
    else:
      print("请输入数字")
   
    print(f'还剩{counts - 1}次机会')
   
    counts -= 1
else:
    print("游戏结束, 你没有猜到")
    print(f'正确答案是{num}')

蜜雪冰城 发表于 2022-3-18 17:50:35

当输入字符的时候会报错,如何让其输入字符不会报错

Gacy 发表于 2022-3-18 17:54:06

加个异常处理,try

ckblt 发表于 2022-3-18 18:06:07

import random

num = random.randint(0, 100)
counts = 10
while counts > 0:
    try:
      choice = int(input("请输入你要猜测的数字:"))
    except ValueError:
      print("请输入数字")
      continue

    if choice > num:
      print("你猜大了")
    elif choice < num:
      print("你猜小了")
    elif choice == num:
      print("你真棒, 你猜对了!")
      print(f"你一共用了{counts}次机会")
      break

    print(f"还剩{counts - 1}次机会")

    counts -= 1
else:
    print("游戏结束, 你没有猜到")
    print(f"正确答案是{num}")

jackz007 发表于 2022-3-18 18:54:11

本帖最后由 jackz007 于 2022-3-18 19:54 编辑

#coding:gbk

import random

num , counts = random . randint(0 , 100) , 10
for x in range(counts):
    choice = int(input("请输入你要猜测的数字:"))
    if choice == num:
      print("你真棒, 你猜对了!")
      print("你一共用了" , x + 1 , "次机会")
      break
    else:
      if choice > num:
            print("你猜大了")
      else:
            print("你猜小了")
      if counts - x > 1:
            print("还剩" , counts - x - 1 , "次机会")
else:
    print("正确答案是" , num)
print("游戏结束。")
      运行实况:
D:\\Python>python x.py
请输入你要猜测的数字:55
你猜小了
还剩 9 次机会
请输入你要猜测的数字:75
你猜小了
还剩 8 次机会
请输入你要猜测的数字:88
你真棒, 你猜对了!
你一共用了 3 次机会
游戏结束。

D:\\Python>

jackz007 发表于 2022-3-18 20:53:11

本帖最后由 jackz007 于 2022-3-18 20:59 编辑

jackz007 发表于 2022-3-18 18:54
运行实况:

      楼主可以尝试挑战在 12 次以内猜中 0 ~ 9999 之内的随机数
#coding:gbk

import random

num , counts = random . randint(0 , 10000) , 12
for x in range(counts):
    choice = int(input("请输入你要猜测的数字:"))
    if choice == num:
      print("你真棒, 你猜对了!")
      print("你一共用了" , x + 1 , "次机会")
      break
    else:   
      c = '+'
      if choice < num :
            c = '-'
      s , e = '' , abs(choice - num)
      while e:
            s += c
            e //= 10
      if choice > num :
            print("你猜大了" , s)
      else:
            print("你猜小了" , s)            
      if counts - x > 1:
            print("还剩" , counts - x - 1 , "次机会")
else:
    print("正确答案是" , num)
print("游戏结束。")
      实际运行效果:
D:\\Python>python x1.py
请输入你要猜测的数字:5678
你猜大了 ++++
还剩 11 次机会
请输入你要猜测的数字:2345
你猜小了 ---
还剩 10 次机会
请输入你要猜测的数字:3256
你猜大了 +++
还剩 9 次机会
请输入你要猜测的数字:2765
你猜大了 +++
还剩 8 次机会
请输入你要猜测的数字:2565
你猜小了 --
还剩 7 次机会
请输入你要猜测的数字:2595
你猜小了 -
还剩 6 次机会
请输入你要猜测的数字:2599
你猜小了 -
还剩 5 次机会
请输入你要猜测的数字:2605
你猜大了 +
还剩 4 次机会
请输入你要猜测的数字:2603
你猜大了 +
还剩 3 次机会
请输入你要猜测的数字:2601
你猜小了 -
还剩 2 次机会
请输入你要猜测的数字:2602
你真棒, 你猜对了!
你一共用了 11 次机会
游戏结束。

D:\\Python>

    注:'+' 、'-' , 代表误差在 1 ~ 9 之间,'++'、'--' 代表误差在 10 ~ 99 之间,'+++'、'---'代表误差在 100 ~ 999 之间,余此类推。
页: [1]
查看完整版本: 求修改