鱼C论坛

 找回密码
 立即注册
查看: 2551|回复: 2

[已解决]写的第一个小程序,能运行,但是我想要的功能不会写

[复制链接]
发表于 2021-5-26 11:26:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 xphgz 于 2021-5-26 11:35 编辑

问题一:如何让这个程序可以一直循环下去,每次都可以产生新的随机数,而不是用一次就结束了

问题二:如何判断输入的是5位数的整数,而不是小于五位数,或者大于5位数,或者是字母其他字符。
如果是5位整数数字就可以继续运行,如果不是,就提示输入5位数字的整数。


  1. from random import randint
  2. suiji=randint(00000,99999)
  3. c=str(suiji)
  4. print("输入5位猜想数字:")

  5. a=(input())
  6. shuru=str(a)



  7. suiji1=c[0]
  8. suiji2=c[1]
  9. suiji3=c[2]
  10. suiji4=c[3]
  11. suiji5=c[4]

  12. shuru1=a[0]
  13. shuru2=a[1]
  14. shuru3=a[2]
  15. shuru4=a[3]
  16. shuru5=a[4]

  17. if shuru1==suiji1:
  18.         print("恭喜第一位数正确",shuru1,suiji1)
  19. else:
  20.         print("第一位数字错误",shuru1,suiji1)
  21. if shuru2==suiji2:
  22.         print("恭喜第二位数正确",shuru2,suiji2)
  23. else:
  24.         print("第二位数字错误",shuru2,suiji2)
  25. if shuru3==suiji3:
  26.         print("恭喜第三位数字正确",shuru3,suiji3)
  27. else:
  28.         print("第三位数字错误",shuru3,suiji3)
  29. if shuru4==suiji4:
  30.         print("恭喜第四位数字正确",shuru4,suiji4)
  31. else:
  32.         print("第四位数字错误",shuru4,suiji4)
  33. if shuru5==suiji5:
  34.         print("恭喜第五位数字正确",shuru5,suiji5)
  35. else:
  36.         print("第五位数字错误",shuru5,suiji5)
  37.         print("开奖数是",suiji)
  38. print("-----------------")

  39. #以下内容是自己搞的,可有可无。清屏作用
  40. qingli=input("按y清屏")
  41. while qingli!="y":
  42.     print("输入错误,请按y")
  43.     qingli=input()

  44. import os
  45. os.system("cls")
  46. print("清理完毕")
复制代码

最佳答案
2021-5-26 11:58:18
  1. from random import randint

  2. while True:
  3.     print("\n--------------------------")
  4.     rand_num = str(randint(10000, 99999))
  5.     guess_num = input("输入5位猜想数字,输入 y 退出:")
  6.     if guess_num in ["Y", "y"]:
  7.         break
  8.     while not (guess_num.isdigit() and len(guess_num) == 5):
  9.         guess_num = input("输入错误请重新输入5位猜想数字:")
  10.     for i in range(len(rand_num)):
  11.         if rand_num[i] == guess_num[i]:
  12.             print("第%d位数字正确"%(i + 1))
  13.         else:
  14.             print("第%d位数字错误"%(i + 1))
  15.     print("随机数字:%s,猜想数字:%s"%(rand_num, guess_num))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-26 11:58:18 | 显示全部楼层    本楼为最佳答案   
  1. from random import randint

  2. while True:
  3.     print("\n--------------------------")
  4.     rand_num = str(randint(10000, 99999))
  5.     guess_num = input("输入5位猜想数字,输入 y 退出:")
  6.     if guess_num in ["Y", "y"]:
  7.         break
  8.     while not (guess_num.isdigit() and len(guess_num) == 5):
  9.         guess_num = input("输入错误请重新输入5位猜想数字:")
  10.     for i in range(len(rand_num)):
  11.         if rand_num[i] == guess_num[i]:
  12.             print("第%d位数字正确"%(i + 1))
  13.         else:
  14.             print("第%d位数字错误"%(i + 1))
  15.     print("随机数字:%s,猜想数字:%s"%(rand_num, guess_num))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-26 12:04:53 | 显示全部楼层

厉害,几行代码就解决了我一大堆的代码问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-23 09:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表