君子好逑 发表于 2020-4-5 15:16:20

判断c的循环为何不起作用

判断c的循环为何不起作用
n=int(input("请输入魔力手环的数字个数:"))
while ((n<2) or (n>50)):
    print('输入错误!!!')
    print('2<= n <=50')
    n=int(input("请重新输入魔力手环的数字个数:"))
k=int(input("请输入魔力手环的循环次数:"))
i=n
sh=[]
while (i != 0):
    for each in range(1,n+1):
      c=input("请输入魔力手环初始化的第%d个数字:"%each)
      while ((c<'0') or (c>'99')):
            print('输入错误!!!')
            print("数字的范围为0~99!!!")
            c=input("请重新输入魔力手环初始化的第%d个数字:"%each)
      c=int(c)
      sh.append(c)
      i-=1
while (k != 0):
    for each in range(0,n):
      a=sh
      if (each==n-1):
            sh=sh+a
            if (sh>=100):
                sh=sh%100
      else:
            sh=sh+sh
            if (sh>=100):
                sh=sh%100
    k-=1
print(sh)

wp231957 发表于 2020-4-5 15:18:51

c不是int类型???
while ((c<'0') or (c>'99')):这又是什么???

jackz007 发表于 2020-4-5 15:21:44

      字符串不能这么判断
       while ((c<'0') or (c>'99')):
      这么写试试看
       whileint(c)< 0 or int(c) > 99:

BngThea 发表于 2020-4-5 15:22:33

>>> '1000'>'99'
False

字符用大小于号比较会依次从第一个个字符开始比较

天假之名 发表于 2020-4-5 18:47:48

这么说来也并不智能
是不能用字符串和数字比较的

君子好逑 发表于 2020-4-6 14:03:16

BngThea 发表于 2020-4-5 15:22
字符用大小于号比较会依次从第一个个字符开始比较

这么一说就懂了,谢谢

dadabiubiubiu 发表于 2020-4-6 15:58:12

把0和99的双引号去掉不就完事了
页: [1]
查看完整版本: 判断c的循环为何不起作用