鱼C论坛

 找回密码
 立即注册
查看: 6056|回复: 19

[学习笔记] 008题完整版

[复制链接]
发表于 2017-11-17 15:20:29 | 显示全部楼层 |阅读模式

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

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

x
研究了几天才研究出来    我是菜鸟   必须输入正确的才能退出,要不就重新输入

temp=input('请输入你的分数:')
while not temp.isdigit():
    temp=input('请输入0-100的数字:')
while True:
    if temp.isdigit():
        temp=int(temp)
        if 100>=temp>=90:
             print('A')
             break
        elif 90>temp>=80:
            print('B')
            break
        elif 80>temp>=60:
            print('C')
            break
        elif 60>temp>=0:
            print('D')
            break
        else:
            temp=input('请输入0-100的数字:')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-11-17 15:44:52 From FishC Mobile | 显示全部楼层
第二个while循环中的第一个if可以删掉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-17 15:59:32 | 显示全部楼层
挺好的,你使用了while not temp.isdigit()
我上学期学习的时候也写过类似的成绩输入判断等级
  1. i=0
  2. while i == 0:
  3.     try:
  4.         temp=int(input('请你输入成绩(0-100):'))
  5.         if 90 <= temp <= 100:
  6.             i +=1
  7.             print('A')
  8.         elif 80 <= temp < 90:
  9.             i +=1
  10.             print('B')
  11.         elif 60 <= temp < 80:
  12.             i +=1
  13.             print('C')
  14.         elif 0 <= temp < 60:
  15.             i +=1
  16.             print('D')
  17.         else:
  18.             print('输入错误请你重新输入!')
  19.     except:
  20.         print('输入错误请你重新输入!')
复制代码


我是通过定义一个来实现循环的,还有使用了程序的异常处理try:except:结构。
功能一样写法不同,哈哈让我们一起学习,我学习你的.isdigit方法来实现判断错误和循环结构。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-17 16:00:26 | 显示全部楼层
BngThea 发表于 2017-11-17 15:44
第二个while循环中的第一个if可以删掉

看看我的代码有什么问题吗,在下面
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-17 16:59:52 From FishC Mobile | 显示全部楼层
像番茄加两个蛋 发表于 2017-11-17 16:00
看看我的代码有什么问题吗,在下面

except要处理一下本次循环,添加一句continue
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-17 17:49:30 | 显示全部楼层
1、用isdecimal()方法来判断字符串是不是数字比isdigit()更好
2、第二个while循环里面第一个if似乎多余了吧!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 09:04:33 | 显示全部楼层
BngThea 发表于 2017-11-17 15:44
第二个while循环中的第一个if可以删掉

谢谢   这个 还真不知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 09:07:04 | 显示全部楼层
像番茄加两个蛋 发表于 2017-11-17 15:59
挺好的,你使用了while not temp.isdigit()
我上学期学习的时候也写过类似的成绩输入判断等级

谢谢   你这也是python吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 09:09:18 | 显示全部楼层
铁棍阿童木 发表于 2017-11-17 17:49
1、用isdecimal()方法来判断字符串是不是数字比isdigit()更好
2、第二个while循环里面第一个if似乎多余了 ...

谢谢   还没学到   isdecimal()函数呢    等学会了 在研究
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 09:12:18 | 显示全部楼层
像番茄加两个蛋 发表于 2017-11-17 16:00
看看我的代码有什么问题吗,在下面

厉害   ,我的思路还是没拓开
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 09:13:26 | 显示全部楼层
BngThea 发表于 2017-11-17 16:59
except要处理一下本次循环,添加一句continue

添加continue不就跳出循环了吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 09:24:22 | 显示全部楼层
BngThea 发表于 2017-11-17 15:44
第二个while循环中的第一个if可以删掉

不加if报错了 啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 09:25:25 From FishC Mobile | 显示全部楼层
457799577 发表于 2017-11-20 09:13
添加continue不就跳出循环了吗

break才是跳出
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 09:27:42 From FishC Mobile | 显示全部楼层
457799577 发表于 2017-11-20 09:24
不加if报错了 啊

我说的是第一个if,因为前面的输入过程已经进行过判定了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 11:49:10 | 显示全部楼层
BngThea 发表于 2017-11-20 09:27
我说的是第一个if,因为前面的输入过程已经进行过判定了

输入的只是True,你的意思把True换成temp.isdigit():
         temp=int(temp)这个嘛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 12:27:47 From FishC Mobile | 显示全部楼层
不要if判断,但是里面的语句要
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 13:39:35 | 显示全部楼层
BngThea 发表于 2017-11-20 12:27
不要if判断,但是里面的语句要

不行  ,if必须加,要不小数的时候会报错。我刚试了
你说是这样吧
while True:
        temp=int(temp)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 15:21:34 | 显示全部楼层
457799577 发表于 2017-11-20 13:39
不行  ,if必须加,要不小数的时候会报错。我刚试了
你说是这样吧
while True:

那请问你的第一个while循环是做什么的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-21 17:00:35 | 显示全部楼层
BngThea 发表于 2017-11-20 15:21
那请问你的第一个while循环是做什么的?

第一个while字符都能拦住,只是不知道为何小数不行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-23 17:29:51 | 显示全部楼层
不错不错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 07:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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