鱼C论坛

 找回密码
 立即注册
查看: 2439|回复: 8

[作品展示] 鲁教版初中信息技术教材中的成绩等级分数的有效性控制

[复制链接]
发表于 2022-12-2 22:49:20 | 显示全部楼层 |阅读模式

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

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

x
65年的,今年领导让我上信息技术课程,Python 从零开始,先学再教,费老劲了……根据教材中的示例,我增加了内容,初学者的体验……大家见笑了,希望给出更好的代码!谢谢!
n = eval(input('请输入需要录入的人数:'))   
for i in range(n+1):    # for 循环是遍历,和while 循环各有千秋
    if i <= n:
        score = eval(input('请输入考试成绩: '))  
    if score < 0 or score > 100:    # 百分制,判断数据是否有效
        print('请输入0到100之间的分值!成绩无效,程序退出!^-^')
        break
    else:
      
        if score >= 85:  # 如果条件表达式成立(为真)
            print('A')
        elif score >= 75:  # 否则如果,再次判断,elif不能单独使用,需要配合if !!!
            print('B')
        elif score >= 60:
            print('C')
        else:
            print('D')

score = 0  # 初始化变量
while (score!=-1):   # 循环条件
    score = float(input('请输入0到100的考试成绩: '))
    if score >100:
        print('输入数据不在0到100的范围之内!程序结束^-^!!!')
        break
        
    elif score >= 85 and score <=100:  # 如果条件表达式成立(为真)
        print('A')
    elif score >= 75:  # 否则如果,再次判断,elif不能单独使用,需要配合if !!!
        print('B')
    elif score >= 60:
        print('C')
    elif 0 <= score <60:
        print('D')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-2 22:54:25 | 显示全部楼层
希望大家批评指正,谢谢了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-2 22:58:16 | 显示全部楼层

range()函数步长数轴图示

本帖最后由 lywxc168 于 2022-12-2 23:01 编辑

range()函数步长数轴图示
range()函数步长数轴图示.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-2 23:05:46 | 显示全部楼层
总有学生提出各种问题,明明有提示,非得另辟思路试一下,不按提示怎么样……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-2 23:14:18 | 显示全部楼层
新人,没看发帖要求,下次注意了,抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-2 23:15:09 | 显示全部楼层
  1. n = eval(input('请输入需要录入的人数:'))   
  2. for i in range(n+1):    # for 循环是遍历,和while 循环各有千秋
  3.     if i <= n:
  4.         score = eval(input('请输入考试成绩: '))  
  5.     if score < 0 or score > 100:    # 百分制,判断数据是否有效
  6.         print('请输入0到100之间的分值!成绩无效,程序退出!^-^')
  7.         break
  8.     else:
  9.       
  10.         if score >= 85:  # 如果条件表达式成立(为真)
  11.             print('A')
  12.         elif score >= 75:  # 否则如果,再次判断,elif不能单独使用,需要配合if !!!
  13.             print('B')
  14.         elif score >= 60:
  15.             print('C')
  16.         else:
  17.             print('D')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-2 23:16:44 | 显示全部楼层
  1. score = 0  # 初始化变量
  2. while (score != -1):   # 循环条件
  3.     score = float(input('请输入0到100的考试成绩: '))
  4.     if score >100:
  5.         print('输入数据不在0到100的范围之内!程序结束^-^!!!')
  6.         break
  7.         
  8.     elif score >= 85 and score <=100:  # 如果条件表达式成立(为真)
  9.         print('A')
  10.     elif score >= 75:  # 否则如果,再次判断,elif不能单独使用,需要配合if !!!
  11.         print('B')
  12.     elif score >= 60:
  13.         print('C')
  14.     elif 0 <= score <60:
  15.         print('D')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-3 00:41:41 | 显示全部楼层
1. 关于 eval() 函数的恰当用法?

eval() 函数的作用 -> https://fishc.com.cn/thread-216409-1-1.html

n = eval(input('请输入需要录入的人数:'))

这里 eval() 函数能够生效,是利用了 eval() 函数拥有 “去字符串引号” 的副作用,但并不能代替 int() 函数。

比如如果录入的人数是 3.2,那么代码并不会报错:

  1. >>> n = eval(input('请输入需要录入的人数:'))
  2. 请输入需要录入的人数:3.2
  3. >>> n
  4. 3.2
复制代码

这就属于潜在隐患了,如果替换成 int() 函数,存在的问题将及时得以反馈:

  1. >>> n = int(input('请输入需要录入的人数:'))
  2. 请输入需要录入的人数:3.2
  3. Traceback (most recent call last):
  4.   File "<pyshell#7>", line 1, in <module>
  5.     n = int(input('请输入需要录入的人数:'))
  6. ValueError: invalid literal for int() with base 10: '3.2'
复制代码


2. range(n) 就会产生 0 ~ n 一共 n 个元素,所以没必要 for i in range(n+1),直接 for i in range(n) 即可。

3. 程序设计问题:

  1. if score < 0 or score > 100:    # 百分制,判断数据是否有效
  2.         print('请输入0到100之间的分值!成绩无效,程序退出!^-^')
  3.         break
复制代码

输入无效,其实没必要退出,代码可以改成这样:

  1. while score < 0 or score > 100:    # 百分制,判断数据是否有效
  2.         score = float(input('请输入有效的考试成绩: '))
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2022-12-3 06:58:56 | 显示全部楼层
谢谢指正,我改进代码!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 10:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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