各位大佬 学python的萌新求指点
工作时间每天一小时 刚学了两天 问这个可能有点幼稚,以后会是这里的常客,求大佬们指点是这样的,老师讲的的是写一个剪刀石头布的游戏,现在这种写法如果输入123都可以有结果,但是如果输入石头剪刀布就会报错
求大佬指点如何输入石头剪刀布或拼音依然能使程序运行不报错。
问这种低级问题 本萌新在瑟瑟发抖
if shuru == ‘石头’ or shuru == 'shitou':
shuru = 1
elifshuru == ‘剪刀’ or shuru == 'jiandao':
shuru = 2
elifshuru == ‘布’ or shuru == 'bu':
shuru = 3
else:
print('输入错误,请重新输入')
52lmLM 发表于 2021-2-26 23:20
多谢啦,错误类型倒是知道,就是想知道判断类型和分流的字符,可能后边会讲,我比较好奇???
仅供参考
import random
string = {'1':'石头','2':'剪刀','3':'布'}
def getKey(response):
if response in string.keys():
return int(response)
if response in string.values():
key =
return int(key)
return None
def getResult():
key = random.randint(1,3)
return key
response = input("请输入:(1)石头,(2)剪刀,(3)布")
key = getKey(response=response)
if key is None:
print('请正确输入')
exit()
result = getResult()
if key == result:
print('心有灵犀,再来一次后')
elif key > result:
print('哇塞,您赢啦!')
else:
print('很遗憾,您输啦!')
数据类型的问题,错误信息已经给出具体错误了,79行,你输入的 是石头 没法转换成int类型呀。
解决办法是 判断输入的数据是 数字还是字符 如果是数字就进数字的判断,字符就进字符的判断。 刚学到这里应该是不用考虑其他情况的,只要能实现石头剪刀布的玩法就行了,异常抛出处理后面会教,你有书的话也可以翻来看看 看不懂 想开始学py但是还没开始一般应该就是 数据类型错误吧1~3为整数但是你输入文字就成了文本型 数据类型不对 然后异常 浅冷丶 发表于 2021-2-26 23:16
刚学到这里应该是不用考虑其他情况的,只要能实现石头剪刀布的玩法就行了,异常抛出处理后面会教,你有书的 ...
嗯嗯,多谢,就是好奇,想知道如果用户输入其他的答案我该怎么转化 禽·兽 发表于 2021-2-26 23:16
看不懂 想开始学py但是还没开始一般应该就是 数据类型错误吧1~3为整数但是你输入文字就成了文本型...
错误原因我知道的,但是好奇怎么处理 xiaobaisky 发表于 2021-2-26 23:15
数据类型的问题,错误信息已经给出具体错误了,79行,你输入的 是石头 没法转换成int类型呀。
解决办法是...
多谢啦,错误类型倒是知道,就是想知道判断类型和分流的字符,可能后边会讲,我比较好奇??? 52lmLM 发表于 2021-2-26 23:17
嗯嗯,多谢,就是好奇,想知道如果用户输入其他的答案我该怎么转化
这个要用到循环了,可以在前面加个if判断输入的字符是否等于‘1’、‘2’、‘3’,如果等于,再进行下一步的判断,如果不等于,则继续从第一步开始重新输入。 本帖最后由 浅冷丶 于 2021-2-26 23:34 编辑
浅冷丶 发表于 2021-2-26 23:27
这个要用到循环了,可以在前面加个if判断输入的字符是否等于‘1’、‘2’、‘3’,如果等于,再进行下一 ...
while True:
shuru = input('请输入石头1剪刀2布3:')
if shuru == '1' or shuru=='2' or shuru =='3':
石头剪刀布判断函数
break
else:
print('您的输入有误,请重新输入')
continue
页:
[1]
2