课堂作业,不知道怎么写,说是要修改原来的程序,不能改变语序结构,显示的错误是str()>=int()
因为input()对象默认为字符串,字符串是不能与数值进行比较的。
所以需要类型转换
grade = int(input())
#..后续照旧
input接受的数据都会转换为字符串类型,不能和int类型直接比较,所以代码第一行改成:
grade = float(input("请输入学生成绩:"))
有帮助的话,请点采纳该答案~
grade变量应该是int或者float类型,才能和数字进行比较;还有就是if-elif的顺序要改,如果按照题目中给出的,只要输入大于60的都是合格,后面的elif就不会走了。
grade = int( input('请输入学成的成绩:') )
if grade >= 90:
print("该学生成绩优秀。")
elif grade >=80:
print("该学生成绩良好。")
elif grade >= 70:
print("该学生成绩一般。")
elif grade >= 60:
print("该学生成绩合格。")
else:
print("该学生成绩不合格。")
加一句grade=int(grade),类型不符
字符串英文string,简写str。
number=1+1 #这里没有带'引号'
print(number) #这里的number是整数型
>2
number='1+1' #这里带了'引号'
print(number) #这里的number是字符串型
>1+1
#可以理解为带了引号的都是字符串类型,无论引号里面是字符,文字,还
是数字,都是字符串类型
整数英文为integer,简写做int
a=0
b=-1
c=1
#这些都是整数,也没有带'引号',没什么好说的
浮点数的英文名是float,与整数(int)和字符串(str)不同,浮点数没有
简写
a=0.5
b=-1.3
c=1.1
#这些都是浮点数,也可以理解为带小数点的且没有带'引号'的都是float。
—————————————————————————————————————————————————————————————
number=0.55+0.3
print(number)
>0.8500000000000001
#在Python计算浮点数时,会先把0.55和0.3转化成二进制数,转化的过程会
有误差