python新版第六讲的改进小游戏
这是什么问题呀,还有就是有大佬可以说下int,input语句的用法和含义吗?是不是这些语句需要自己先去了解啊temp=input("请输入你的成绩,接着会告诉你的成绩评级!!!")
guess=int(temp)
if guess<60:
print("你的评级为D")
else:
if 60<=guess<80:
print("你的评级为C")
else:
if 80<=guess<90:
print("你的评级为B")
else:
if 90<=guess<100:
print("你的评级为A")
else:
print("你的评级为S")
看着就感觉怪怪的{:5_100:} C:\Users\GFX\Desktop
我这里显示运行是没有问题的,你想问什么问题呢?
int就是把你输入的变量强行变成整数型变量的函数,input是输入一个str型(字符串)变量,这个后面会学到不用现在就刻意学 本帖最后由 jackz007 于 2022-9-5 17:47 编辑
temp = input("请输入你的成绩,接着会告诉你的成绩评级!!!")# 如果你键入的是 98,那么 temp = '98',是的,它是一个字符串
guess = int(temp) # 从字符串 temp 中提取数值,guess = 98
if guess < 60: # guess 是数字,所以,可以和 60 直接比较大小,如果用 temp(字符串) 就不可以
print("你的评级为D")
else:
if 60 <= guess < 80 :
print("你的评级为C")
else:
if 80 <= guess < 90:
print("你的评级为B")
else:
if 90 <= guess < 100:
print("你的评级为A")
else:
print("你的评级为S")
这个代码不够严谨,因为你输入 1000 试试
分数的多分支判断应该使用 if ... elif ... elif ... else 句式,像下面这样:
temp = input("请输入你的成绩,接着会告诉你的成绩评级!!!")
guess = int(temp)
if 0 <= guess <= 100 :
if guess == 100:
print("你的评级为S")
elif 90 <= guess < 100:
print("你的评级为A")
elif 80 <= guess < 90:
print("你的评级为B")
elif 60 <= guess < 80:
print("你的评级为C")
else:
print("你的评级为D")
else:
print('成绩无效!')
GFX2022 发表于 2022-9-5 17:35
我这里显示运行是没有问题的,你想问什么问题呢?
int就是把你输入的变量强行变成整数型变量的函数,inp ...
好的,谢谢 jackz007 发表于 2022-9-5 17:37
这个代码不够严谨,因为你输入 1000 试试
分数的多分支判断应该使用 if ... elif ... e ...
谢谢大佬,就是这个可以if和else语句并列使用吗?就是把你发的代码里的elif全部改为else 州洲不爱喝粥 发表于 2022-9-5 21:14
谢谢大佬,就是这个可以if和else语句并列使用吗?就是把你发的代码里的elif全部改为else
不可以,一个 if 可以有多个 elif,但是,else 只能有一个。 jackz007 发表于 2022-9-5 21:20
不可以,一个 if 可以有多个 elif,但是,else 只能有一个。
好的,谢谢大佬解惑 jackz007 发表于 2022-9-5 17:37
这个代码不够严谨,因为你输入 1000 试试
分数的多分支判断应该使用 if ... elif ... e ...
大佬就是如果我想要让这个代码在输入e时就结束可以怎样改进啊
州洲不爱喝粥 发表于 2022-9-6 15:00
大佬就是如果我想要让这个代码在输入e时就结束可以怎样改进啊
while True:
temp = input("请输入你的成绩,接着会告诉你的成绩评级!!!") . strip()
if temp and temp . lower() != 'e':
guess = int(temp)
if 0 <= guess <= 100 :
if guess == 100:
print("你的评级为 S")
elif 90 <= guess < 100:
print("你的评级为 A")
elif 80 <= guess < 90:
print("你的评级为 B")
elif 60 <= guess < 80:
print("你的评级为 C")
else:
print("你的评级为 D")
else:
print('成绩无效!')
print()
else: # 按下空回车或按下 'E' 或 'e' 结束
break jackz007 发表于 2022-9-6 15:10
大佬,就是你看我直接在temp上加了一个while循环,这样报错是怎么回事啊
while guess==e
temp = input("请输入你的成绩,接着会告诉你的成绩评级!!!")
guess = int(temp)
if 0 <= guess <= 100 :
if guess == 100:
print("你的评级为S")
elif 90 <= guess < 100:
print("你的评级为A")
elif 80 <= guess < 90:
print("你的评级为B")
elif 60 <= guess < 80:
print("你的评级为C")
else:
print("你的评级为D")
else:
print('成绩无效!') jackz007 发表于 2022-9-6 15:10
temp = input("请输入你的成绩,接着会告诉你的成绩评级!!!") . strip()
if temp and temp . lower() != 'e':
为啥要加个!啊,还有strip是啥意思
{:5_99:} 本帖最后由 jackz007 于 2022-9-6 16:10 编辑
s . strip() 是字符串方法,其作用是去掉字符串 s 首尾两端的空白字符(空格、回车、Tab 等),在本例中,如果键盘输入了 8 个空格加回车,那么,经过 strip() 处理后,等于什么都没有输入,字符串长度为 0。
if temp 在字符串 temp 的长度不为零时候为 True,就是说,只要在键盘输入中存在非空白字符,那么,表达式的值就是 True。temp . lower() 会把字符串 temp 中的所有大写字母字符变为对应的小写字母,逻辑表达式 temp . lower() != 'e' 在字符串 temp 的内容不是 'E' 也不是 'e' 的时候为 True。 jackz007 发表于 2022-9-6 16:06
s . strip() 是字符串方法,其作用是去掉字符串 s 首尾两端的空白字符(空格、回车、Tab 等),在本例 ...
好的,谢谢大佬解惑
页:
[1]