为什么我的’else’函数在执行’if’函数时会起作用?

huangapple go评论68阅读模式
英文:

why my 'else' function work when there is 'if' function that performing?

问题

[如果我使用'/',那就没问题,但如果我使用其他选项,那么'else'函数会起作用,但不应该](https://i.stack.imgur.com/23CbB.png)

我尝试替换这个'else'的位置,但这并没有起作用

```python
print('шо ти, голова?')

what = input('пиши шо хоч (+, -, *, /) : ')

if what == '+':
    a = input('до якого числа будем додавати?: ')
    b = input('яке число будем додавати?: ')
    c = float(a) + float(b)
    print(float(c))

if what == '-':
    a = input('від якого числа будем віднімати?: ')
    b = input('яке число будем віднімати?: ')
    c = float(a) - float(b)
    print(float(c))

if what == '*':
    a = input('яке число будем множити?: ')
    b = input('на яке число будем множити?: ')
    c = float(a) * float(b)
    print(float(c))

if what == '/':
    a = input('яке число будем ділити?: ')
    b = input('на яке число будем ділити?: ')
    c = float(a) / float(b)
    print(float(c))

else: print("ти шото не то вибрав, друже!")

<details>
<summary>英文:</summary>

[if i use &#39;/&#39; than its ok, but if i use any other option, than &#39;else&#39; function is working but shouldnt](https://i.stack.imgur.com/23CbB.png)

I tried to replace this &#39;else&#39; somewhere, but this didnt work


print('шо ти, голова?')

what = input('пиши шо хоч (+, -, *, /) : ')

if what == '+':
a = input('до якого числа будем додавати?: ')
b = input('яке число будем додавати?: ')
c = float(a) + float(b)
print(float(c))

if what == '-':
a = input('від якого числа будем віднімати?: ')
b = input('яке число будем віднімати?: ')
c = float(a) - float(b)
print(float(c))

if what == '*':
a = input('яке число будем множити?: ')
b = input('на яке число будем множити?: ')
c = float(a) * float(b)
print(float(c))

if what == '/':
a = input('яке число будем ділити?: ')
b = input('на яке число будем ділити?: ')
c = float(a) / float(b)
print(float(c))

else: print("ти шото не то вибрав, друже!")







</details>


# 答案1
**得分**: 1

你面临的问题是由于你的代码中else语句的位置不正确。在你目前的代码中,`else`语句仅与最后一个`if`条件关联,即`(if what == '/')`。请尝试使用`if..elif..else`语法,如下所示-

```python
print('шо ти, голова?')

what = input('пиши шо хоч (+, -, *, /) : ')

if what == '+':
    a = input('до якого числа будем додавати?: ')
    b = input('яке число будем додавати?: ')
    c = float(a) + float(b)
    print(float(c))

elif what == '-':
    a = input('від якого числа будем віднімати?: ')
    b = input('яке число будем віднімати?: ')
    c = float(a) - float(b)
    print(float(c))

elif what == '*':
    a = input('яке число будем множити?: ')
    b = input('на яке число будем множити?: ')
    c = float(a) * float(b)
    print(float(c))

elif what == '/':
    a = input('яке число будем ділити?: ')
    b = input('на яке число будем ділити?: ')
    c = float(a) / float(b)
    print(float(c))

else:
    print("ти шото не то вибрав, друже!")
英文:

The issue you're facing is due to the placement of the else statement in your code. In your current code, the else statement is only associated with the last if condition i.e (if what == &#39;/&#39;). Try with if..elif..else syntax like below-

print(&#39;шо ти, голова?&#39;)

what = input(&#39;пиши шо хоч (+, -, *, /) : &#39;)

if what == &#39;+&#39;:
    a = input(&#39;до якого числа будем додавати?: &#39;)
    b = input(&#39;яке число будем додавати?: &#39;)
    c = float(a) + float(b)
    print(float(c))

elif what == &#39;-&#39;:
    a = input(&#39;від якого числа будем віднімати?: &#39;)
    b = input(&#39;яке число будем віднімати?: &#39;)
    c = float(a) - float(b)
    print(float(c))

elif what == &#39;*&#39;:
    a = input(&#39;яке число будем множити?: &#39;)
    b = input(&#39;на яке число будем множити?: &#39;)
    c = float(a) * float(b)
    print(float(c))

elif what == &#39;/&#39;:
    a = input(&#39;яке число будем ділити?: &#39;)
    b = input(&#39;на яке число будем ділити?: &#39;)
    c = float(a) / float(b)
    print(float(c))

else:
    print(&quot;ти шото не то вибрав, друже!&quot;)

答案2

得分: 0

你遇到的问题是因为else关键字只与代码中最后一个if语句相关,而在你的代码中,最后一个if语句是这个:if what == '/':

要解决这个问题,你需要使用elif关键字,它是Python中的else if的等价物。

以下是已更正的代码:

print('шо ти, голова?')

what = input('пиши шо хоч (+, -, *, /) : ')

if what == '+':
    a = input('до якого числа будем додавати?: ')
    b = input('яке число будем додавати?: ')
    c = float(a) + float(b)
    print(float(c))

elif what == '-':
    a = input('від якого числа будем віднімати?: ')
    b = input('яке число будем віднімати?: ')
    c = float(a) - float(b)
    print(float(c))

elif what == '*':
    a = input('яке число будем множити?: ')
    b = input('на яке число будем множити?: ')
    c = float(a) * float(b)
    print(float(c))

elif what == '/':
    a = input('яке число будем ділити?: ')
    b = input('на яке число будем ділити?: ')
    c = float(a) / float(b)
    print(float(c))

else:
    print("ти шото не то вибрав, друже!")
英文:

The issue your facing is because the else keyword is only related to the last if-statement in your code, which happens to be this: if what == &#39;/&#39;:

To fix this issue, you have to use the elif keyword, which is the python equivalent for else if.

Here is the corrected code:

print(&#39;шо ти, голова?&#39;)

what = input(&#39;пиши шо хоч (+, -, *, /) : &#39;)

if what == &#39;+&#39;:
    a = input(&#39;до якого числа будем додавати?: &#39;)
    b = input(&#39;яке число будем додавати?: &#39;)
    c = float(a) + float(b)
    print(float(c))

elif what == &#39;-&#39;:
    a = input(&#39;від якого числа будем віднімати?: &#39;)
    b = input(&#39;яке число будем віднімати?: &#39;)
    c = float(a) - float(b)
    print(float(c))

elif what == &#39;*&#39;:
    a = input(&#39;яке число будем множити?: &#39;)
    b = input(&#39;на яке число будем множити?: &#39;)
    c = float(a) * float(b)
    print(float(c))

elif what == &#39;/&#39;:
    a = input(&#39;яке число будем ділити?: &#39;)
    b = input(&#39;на яке число будем ділити?: &#39;)
    c = float(a) / float(b)
    print(float(c))

else:
    print(&quot;ти шото не то вибрав, друже!&quot;)

huangapple
  • 本文由 发表于 2023年6月19日 00:58:59
  • 转载请务必保留本文链接:https://go.coder-hub.com/76501659.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定