Почему если переменная равна то выдает то что она не равна?Программа выдает не то
Дело в том,что я начинающий программист и пытаюсь сделать некоторые функции на питоне.У меня если я допустим пишу: "Включи ютуб" То у меня включает ютуб а потом выдает поиск в интернете по запросу: Включи ютуб.Вот мой код:
import random
import time
print("Привет!Я - ВасяПро228!Я голосовой помощник!Вот мои команды")
print("Включи ютуб")
print("Дай рандомное число")
print("Кто создал тебя?")
def main():
b = input("Что вы хотите? ")
if b == "Включи ютуб":
print("Включаю")
webbrowser.open('www.youtube.com/', new=2)
if b == "включи ютуб":
print("Включаю")
webbrowser.open('www.youtube.com/', new=2)
if b == "дай рандомное число":
c = input("От какого числа вы хотите? ")
d = input("До какого числа вы хотите? ")
e = random.randint(float(c),float(d))
print("Рандомное число: " + str(e))
if b == "Дай рандомное число":
c = input("От какого числа вы хотите? ")
d = input("До какого числа вы хотите? ")
e = random.randint(float(c),float(d))
print("Рандомное число: " + str(e))
if b == "Кто создал тебя?":
webbrowser.open('https://www.youtube.com/channel/UCyxmi2K_-EtZWXP_go1YJ1A', new=2)
if b == "кто создал тебя?":
webbrowser.open('https://www.youtube.com/channel/UCyxmi2K_-EtZWXP_go1YJ1A', new=2)
if b == "Привет":
print("Привет,я - ВасяПро228!")
elif b == "привет":
print("Привет,я - ВасяПро228!")
elif b == "Как дела?":
print("Хорошо")
elif b == "как дела?":
print("Хорошо")
elif b == "как дела":
print("Хорошо")
elif b == "Как дела":
print("Хорошо")
else:
print("Поиск в интернете по запросу: " + b)
time.sleep(1)
def urlify(s):
s = s.strip().split(" ")
return ("%20").join(s)
webbrowser.open('https://yandex.ru/search/?text=' + b + '&lr=11212&clid=9582', new=2)
time.sleep(2)
if __name__ == '__main__':
while True:
main()
И выдает мне вот это:
Что вы хотите? Включи ютуб Включаю Поиск в интернете по запросу: Включи ютуб
И кроме ютуба включает поиск.Как исправить?Пробовал менять ифы
Ответы (2 шт):
Извини, что не по главной теме. Но хочу дать пару "улучшений кода"
Вместо кучи условий лучше привести вводимый текст к одному "формату". Введу переменную user_input (намного круче, когда у переменных понятные имена):
user_input = input()
user_input = user_input.lower()
user_input = user_input.replace(' ', '')
if user_input == 'включиютюб':
'# И сюда уже условие'
Команды с рандомом можно сократить. Как минимум можно сразу при вводе указать тип переменной:
rand_1 = float(input('От какого числа вы хотите?'))
rand_2 = float(input('До какого числа вы хотите?'))
Затем нам из библиотеки "random" нужна только одна функция. Чтобы не нагружать систему импортируем только её. В самом начале вместо import random запишем from random imort randint
На выходе:
rand_1 = float(input('От какого числа вы хотите?'))
rand_2 = float(input('До какого числа вы хотите?'))
rand_number = randint(rand_1, rand_1)
print('Рандомное число:', rand_number)
Можно и в одну строку, но выглядеть будет не красиво
Нужно сделать как минимум две вещи, во первых, как написали в комментарии:
все кроме первого if замените на elif
во вторых, перенесите строку webbrowser.open('https://yandex.ru/search/?text=' + b + '&lr=11212&clid=9582', new=2)
в блок else, для этого добавьте просто еще один отступ
import random
import time
print("Привет!Я - ВасяПро228!Я голосовой помощник!Вот мои команды")
print("Включи ютуб")
print("Дай рандомное число")
print("Кто создал тебя?")
def main():
b = input("Что вы хотите? ")
if b == "Включи ютуб":
print("Включаю")
webbrowser.open('www.youtube.com/', new=2)
elif b == "включи ютуб":
print("Включаю")
webbrowser.open('www.youtube.com/', new=2)
elif b == "дай рандомное число":
c = input("От какого числа вы хотите? ")
d = input("До какого числа вы хотите? ")
e = random.randint(float(c),float(d))
print("Рандомное число: " + str(e))
elif b == "Дай рандомное число":
c = input("От какого числа вы хотите? ")
d = input("До какого числа вы хотите? ")
e = random.randint(float(c),float(d))
print("Рандомное число: " + str(e))
elif b == "Кто создал тебя?":
webbrowser.open('https://www.youtube.com/channel/UCyxmi2K_-EtZWXP_go1YJ1A', new=2)
elif b == "кто создал тебя?":
webbrowser.open('https://www.youtube.com/channel/UCyxmi2K_-EtZWXP_go1YJ1A', new=2)
elif b == "Привет":
print("Привет,я - ВасяПро228!")
elif b == "привет":
print("Привет,я - ВасяПро228!")
elif b == "Как дела?":
print("Хорошо")
elif b == "как дела?":
print("Хорошо")
elif b == "как дела":
print("Хорошо")
elif b == "Как дела":
print("Хорошо")
else:
print("Поиск в интернете по запросу: " + b)
time.sleep(1)
def urlify(s):
s = s.strip().split(" ")
return ("%20").join(s)
webbrowser.open('https://yandex.ru/search/?text=' + b + '&lr=11212&clid=9582', new=2)
time.sleep(2)
if __name__ == '__main__':
while True:
main()