在Python中使用If-elif-else语句

some1

编写一个程序,要求用户提供颜色,线宽,线长和形状。形状应为直线,三角形或正方形。使用乌龟图形绘制用户要求的形状,包括用户要求的大小,颜色,线宽和线长。例如,如果这些是用户选择的颜色,宽度,线长和形状。

输出应如下所示:什么颜色?蓝色什么线宽?25什么线长?100条线,三角形或正方形?三角形

我的代码:

import turtle
colour=input('What color? ')
width=int(input('What width? '))
length=int(input('What line length? '))
shape=input('line, triangle, or square? ')

if shape=='line' or 'Line' or 'LINE':
    t=turtle.Turtle()
    t.pendown()
    t.color(colour)
    t.pensize(width)
    t.forward(length)
elif shape=='triangle' or 'Triangle' or 'TRIANGLE':
    t=turtle.Turtle()
    t.pendown()
    t.color(colour)
    t.pensize(width)
    t.forward(length)
    t.left(120)
    t.forward(length)
    t.left(120)
    t.forward(length)
elif shape=='square' or 'Square' or 'SQUARE':
    t=turtle.Turtle()
    t.pendown()
    t.color(colour)
    t.pensize(width)
    t.forward(length)
    t.left(90)
    t.forward(length)
    t.left(90)
    t.forward(length)
    t.left(90)
    t.forward(length)
else:
    print('Command not recognized, try again!')

另外,我的输出仅会持续到第一个“ if”语句,之后不会继续执行。它接受用户提出的前三个问题,但是无论第四个问题的答案是什么,它始终是一行。

用户177800

你在做什么:

shape=='line' or 'Line' or 'LINE'

转换为:

shape=='line' or True or True

因为对象是真实的,可以通过输入以下内容在REPL上轻松对其进行测试:

if 'line': print 'true'

您需要做什么:

shape=='line' or shape=='Line' or shape=='LINE'

最好的方法是一次覆盖所有基础:

if re.match('line', shape.strip(), re.IGNORECASE):

这是一个可以更加动态地执行此操作的稻草人:

if在这种情况下,您甚至不需要任何声明!

def line():
    print 'Line selected!'

def square():
    print 'Square selected'

def triangle():
    print 'Triangle selected'

globals()[shape.strip().lower()]()

对于对象的动态分配,请使用:

getattr(module,method_name);

警告:少量使用可能会很优雅,如果使用过多会变得完全难以维护

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python if elif else语句

来自分类Dev

Python if / elif / else条件语句

来自分类Dev

Python-if,elif,elif,else语句未按预期工作

来自分类Dev

Python-if,elif,elif,else语句未按预期工作

来自分类Dev

在if / elif / else语句中使用random.choice

来自分类Dev

在清单推导中使用if,elif,else,Python

来自分类Dev

Python中的while循环中的if / elif / else语句

来自分类Dev

使用列表在if,elif和else语句中定义多个答案

来自分类Dev

简单的Python“ if”,“ elif”,“ else”

来自分类Dev

Python If elif else

来自分类Dev

如何在Python函数中避免很长的if-elif-elif-else语句

来自分类Dev

if,if-else和elif语句

来自分类Dev

最佳做法是在Python if或if / elif语句的末尾包含else:pass语句吗?

来自分类Dev

else 语句连接到我的另一个 elif 语句(python)

来自分类Dev

if-if-else vs if-elif-else语句

来自分类Dev

如何减少elif语句的使用?

来自分类Dev

Python if,elif,else链交替

来自分类Dev

Python学习-if,elif和else语句-某些条件为true但未执行(打印),为什么?

来自分类Dev

是否为Python堆叠了if语句或if-elif-else更好的样式?

来自分类Dev

尝试使用Elif Else语句时,仅返回两个值

来自分类Dev

使用if / elif / else语句的函数的O(n ^ 3)复杂度

来自分类Dev

从包含if elif else语句的函数返回变量

来自分类Dev

if,elif和else shell脚本Linux语句

来自分类Dev

带有 if/elif/else 语句的 while 循环

来自分类Dev

Bash 中的 İf-elif-else 语句

来自分类Dev

Python无效语法:Print和Elif语句

来自分类Dev

Python 解释器忽略 IF - ELIF 语句

来自分类Dev

python,if / elif / else语法按注释分开?

来自分类Dev

if / elif / else python中的缩进错误

Related 相关文章

热门标签

归档