萌新求助
python3吧
全部回复
仅看楼主
level 11
zxr190 楼主
无论输入什么,这段代码都只会输出SyntaxError[泪]
A=['A']
AH=10
AS=10
while AH >= 0:
want=input('Everything you want.')
if want in A:
print('2C')
else:
if str(AH) in want:
x=eval('want')
AH=x
print;AH
else:
if str(AS) not in want:
y=eval('want')
AS=y
print;AS
else:
print('SyntaxError')
2018年01月28日 12点01分 1
level 11
哇,这代码格式看的我头皮发麻
2018年01月28日 12点01分 2
那我再输一遍[乖]
2018年01月28日 13点01分
算了,我截图吧
2018年01月28日 13点01分
level 11
zxr190 楼主
2018年01月28日 13点01分 4
你输入了什么,它输出了什么
2018年01月28日 13点01分
print;AH是什么语法
2018年01月28日 13点01分
@宋逸雪da 直接输出参数AH。还有,除了我输入A,其他都只会输出'SyntaxError
2018年01月28日 13点01分
@宋逸雪da 我觉得应该是if str(AH) in want:出的问题,可是我不知道该怎么改[泪]
2018年01月28日 13点01分
level 3
是不是缩进或者中文字符问题, 我复制你的代码可以运行。
print;AH这是什么用法?
2018年01月28日 14点01分 5
搞错了[喷]那我问一下,为什么我这种赋值不能储存计算结果
2018年01月29日 06点01分
@zxr190 那里赋值了?
2018年01月29日 07点01分
@zxr190 指出代码行号
2018年01月29日 07点01分
@古井无波近秋筠 x=eval(want) AH=x print(AH)
2018年01月29日 13点01分
level 11
zxr190 楼主
我想要进行连续计算,可是,不知道为什么每次都是返回AH=30进行计算[泪]@古井无波近秋筠
2018年01月29日 13点01分 6
这个代码与原来不一样了吧?你把代码发上来看看
2018年01月29日 14点01分
你想输入一个算式, 用eval求值, 所以你应该是eval(vant)而不是eval(‘vant’),没有引号
2018年01月29日 14点01分
@古井无波近秋筠 emm,看我最后发的那个吧,没有引号的,我改过了
2018年01月29日 14点01分
@古井无波近秋筠 我感觉我已经是个废人了[喷]
2018年01月29日 14点01分
level 11
zxr190 楼主
2018年01月29日 14点01分 7
你不妨用笔算算,你每次输入的AH-3,计算的结果保存在AS中,下一次输入还是AH-3,AH没有变,结果也就不变呀
2018年01月29日 14点01分
@古井无波近秋筠 哇,非常感谢,但是,改过来以后,根本通过不了验证的.....
2018年01月29日 14点01分
level 11
zxr190 楼主
2018年01月29日 14点01分 8
我可以的呀,我瞅瞅
2018年01月29日 14点01分
level 3
2018年01月29日 14点01分 9
level 3
你不止改了引号,还把if语句中的一个not也去掉了,进不了分支,执行else中的print("Syntax error")
2018年01月29日 14点01分 10
我本来写的就没有not和引号,后来越改越乱
2018年01月29日 14点01分
level 11
zxr190 楼主
@古井无波近秋筠,那你看看我这个改过的,为什么又进不了分支了
源码
while AH >= 0:
want=input('Everything you want.')
if want in A:
print('2C')
else:
if str(AH) in want:
x=eval(want)
AH=x
print(AH)
else:
if str(AS) in want:
y=eval(want)
AS=y
print(AS)
else:
print('SyntaxError')
2018年01月29日 14点01分 11
2018年01月29日 14点01分
@zxr190 一步步分析 当你输入a时,15行,18行, 23行 判断都为否进入最后的else print('SyntaxError') 第二次输入A时,15行判断为真,执行16行 print('2C') 第三次输入AS-3时, 跟你一次一样,if判断都是否 你自己再看看是不是
2018年01月29日 15点01分
level 3
一步步分析 当你输入a时,15行,18行, 23行 判断都为否进入最后的else print('SyntaxError') 第二次输入A时,15行判断为真,执行16行 print('2C') 第三次输入AS-3时, 跟第一次一样,if判断都是否 你自己再看看是不是
2018年01月29日 15点01分 12
那我该怎么检验AH是否在want中间呢
2018年01月30日 04点01分
谢谢!!我现在用‘AH'替换str(AH)就能完成程序了
2018年01月30日 05点01分
@zxr190 啥意思
2018年01月30日 14点01分
@古井无波近秋筠 多谢啦,我现在已经完成了
2018年01月30日 14点01分
level 7
你为什么不用elif呢?[捂嘴笑]
2018年01月30日 04点01分 13
1