鱼C论坛

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

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

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

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

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

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

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

问题二:如何判断输入的是5位数的整数,而不是小于五位数,或者大于5位数,或者是字母其他字符。
如果是5位整数数字就可以继续运行,如果不是,就提示输入5位数字的整数。
from random import randint
suiji=randint(00000,99999)
c=str(suiji)
print("输入5位猜想数字:") 

a=(input())
shuru=str(a)



suiji1=c[0]
suiji2=c[1]
suiji3=c[2]
suiji4=c[3]
suiji5=c[4]

shuru1=a[0]
shuru2=a[1]
shuru3=a[2]
shuru4=a[3]
shuru5=a[4]

if shuru1==suiji1:
        print("恭喜第一位数正确",shuru1,suiji1)
else:
        print("第一位数字错误",shuru1,suiji1)
if shuru2==suiji2:
        print("恭喜第二位数正确",shuru2,suiji2)
else:
        print("第二位数字错误",shuru2,suiji2)
if shuru3==suiji3:
        print("恭喜第三位数字正确",shuru3,suiji3)
else:
        print("第三位数字错误",shuru3,suiji3)
if shuru4==suiji4:
        print("恭喜第四位数字正确",shuru4,suiji4)
else:
        print("第四位数字错误",shuru4,suiji4)
if shuru5==suiji5:
        print("恭喜第五位数字正确",shuru5,suiji5)
else:
        print("第五位数字错误",shuru5,suiji5)
        print("开奖数是",suiji)
print("-----------------")

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

import os
os.system("cls")
print("清理完毕")
最佳答案
2021-5-26 11:58:18
from random import randint

while True:
    print("\n--------------------------")
    rand_num = str(randint(10000, 99999))
    guess_num = input("输入5位猜想数字,输入 y 退出:")
    if guess_num in ["Y", "y"]:
        break
    while not (guess_num.isdigit() and len(guess_num) == 5):
        guess_num = input("输入错误请重新输入5位猜想数字:")
    for i in range(len(rand_num)):
        if rand_num[i] == guess_num[i]:
            print("第%d位数字正确"%(i + 1))
        else:
            print("第%d位数字错误"%(i + 1))
    print("随机数字:%s,猜想数字:%s"%(rand_num, guess_num))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

while True:
    print("\n--------------------------")
    rand_num = str(randint(10000, 99999))
    guess_num = input("输入5位猜想数字,输入 y 退出:")
    if guess_num in ["Y", "y"]:
        break
    while not (guess_num.isdigit() and len(guess_num) == 5):
        guess_num = input("输入错误请重新输入5位猜想数字:")
    for i in range(len(rand_num)):
        if rand_num[i] == guess_num[i]:
            print("第%d位数字正确"%(i + 1))
        else:
            print("第%d位数字错误"%(i + 1))
    print("随机数字:%s,猜想数字:%s"%(rand_num, guess_num))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

厉害,几行代码就解决了我一大堆的代码问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 17:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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