如果用户输入有效,则继续运行代码

时间:2019-04-08 21:05:18

标签: python

我正在用Python编写一些代码,该代码根据用户的选择来计算三角形或圆形的面积。我想写“如果用户选择的是C(用于圆圈),请继续运行”,但我写的所有内容均无效,并且显示错误。

我有:

option = raw_input('Enter C for Circle and T for Triangle: ')
circle = 'C'
tringle = 'T'
if option == circle:
    return option

2 个答案:

答案 0 :(得分:1)

如注释中所述,除非它来自函数,否则无法返回值。

如果您想完成一个正在运行的示例,可以轻松地使用while循环,如下所示:

circle = 'C'
tringle = 'T'
value = True
while value:
    option = raw_input('Enter C for Circle and T for Triangle: ')
    # check lower() so capitalization doesn't matter
    if option.lower() == circle:
        # do something
        print("Do something, 'C' has been selected") 
        pass
    else:
        value = False

作为一个解释,如果您不清楚上面发生的事情。如果所选选项为circle,则while循环始终为True,因此循环永远不会终止,并且迭代会继续。如果选择的选项不是circle,则value的值将不是True,因此循环将在再次执行循环中的代码之前中断。

答案 1 :(得分:0)

尽管没有定义任何函数,但由于正在调用// warning: ‘struct visit_items’ has virtual functions and // accessible non-virtual destructor [-Wnon-virtual-dtor] ,所以得到struct visit_items { virtual ~visit_items() = default; virtual void action(std::string *s) = 0; }; 。根据Python语法,您只能从函数内部返回。我建议您阅读有关如何创建Python函数的信息(此article很好地解释了它)