Python 为初学者添加if/else语句以形成算法

Python 为初学者添加if/else语句以形成算法,python,if-statement,shapes,Python,If Statement,Shapes,我试图将if/else语句添加到一组代码中,当用户使用输入字符串指定形状并且遇到困难时,这些代码会输出一个形状。如何将简单的If/else语句添加到shapes代码中,使其仅输出具有正确输入字符串的形状,并且当使用不正确的输入字符串时,它将输出一条错误消息,说明“shape未定义” 我的形状代码之一是一个简单的平方算法: def square(size, chr): row = 1 while row <= size: col = 1 whi

我试图将if/else语句添加到一组代码中,当用户使用输入字符串指定形状并且遇到困难时,这些代码会输出一个形状。如何将简单的If/else语句添加到shapes代码中,使其仅输出具有正确输入字符串的形状,并且当使用不正确的输入字符串时,它将输出一条错误消息,说明“shape未定义”

我的形状代码之一是一个简单的平方算法:

def square(size, chr):
    row = 1
    while row <= size:
        col = 1
        while col <= size:
            print chr, 
            col = col + 1
        print '' 
        row = row + 1
    print ''

您是否有供用户键入的有效输入列表?如果是这样,您可以在有效的\u shape\u code:中创建一个以
If shape开头的条件块,在主分支中正常进行,并在
其他:
分支中
打印“shape is not defined”
。是的,我有多种形状。我添加了下面的代码,但是只要它是一个输入,它就会输出所有的形状。如何更改它,使每个正确的输入只显示一个形状?有效形状代码=('S,T,R,D,A')如果形状在有效形状代码中:正方形(大小,chr)三角形(大小,chr)对角线(大小,chr)反转角度(大小,chr)角度(大小,chr)否则:打印“形状未定义”必须在每个形状代码和函数之间创建关联。一种方法是创建一个字典,将形状代码映射到函数:
valid\u-shape\u-code={“S”:square,“T”:triangle,“R”:reversetriangle…}
,然后使用
if-shape-in-valid\u-shape\u-code:valid\u-shape\u-code[shape](size,chr)
我一直收到一条错误消息:TypeError:字符串索引必须是整数,不是,你好像在用元组和字典的交叉。请看一下字典是如何工作的“当使用不正确的输入字符串时,它会输出一条错误消息,说明
形状未定义”
。谢谢!它工作得很好。您是否知道如何将循环添加到此代码中,以便它不断请求输入?我试图添加一个“While true:”循环。
print('Please specify a shape to draw. Type S for square, T for triangle, R for reverse triangle, D for diagonal, and A for angle')
shape = raw_input('Please specify a shape to draw:')
size = input('Please enter a size:')
chr = raw_input('Please enter a drawing character:')
print''

valid_shape_codes =('"S":square, "T":triangle, "R":reversetriangle, "D":diagonal, "A":angle')
if shape in valid_shape_codes:
    valid_shape_codes[shape](size, chr)
else:
     print 'Shape is not defined'
print('Please specify a shape to draw. Type S for square')
shape = raw_input('Please specify a shape to draw:')
size = input('Please enter a size:')
chr = raw_input('Please enter a drawing character:')
valid_shape_codes ={"S":square, "T":triangle, "R":reversetriangle, "D":diagonal, "A":angle}

if shape in valid_shape_codes:
    valid_shape_codes[shape](size, chr)
else:
    print "Shape is not defined"
print''