Уведомления

Группа в Telegram: @pythonsu

#1 Май 31, 2017 16:49:34

alekss07
Зарегистрирован: 2017-05-31
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

Здравствуйте
Питон изучал очень давно
перешел на С++
синтаксис весь забыл
подскажите по 2 задачам
1)Необходимо поменять местами значения в переменных: a = 5; b = 12.

2)Написать функцию, которая во входных параметрах принимает строку и возвращает инверсию этой строки в верхнем регистре. Например, для входной строки ‘Hello World’ результат должен быть ‘DLROW OLLEH ’
3)Написать функцию, которая во входных параметрах принимает строку с текстом. Функция должна возвращать количество слов и предложений в строке. Условимся, что слова разбиваются одним пробелом, a конец строки обозначается символом ‘.’

во второй задаче вроде reverse() или и upper()
заранее спасибо большое!
c одной уже разобрался

 def bigger(a):
    out = a.upper()[::-1]
    
    print(out)
bigger("Hello Word")

Отредактировано alekss07 (Май 31, 2017 17:35:36)

Офлайн

#2 Май 31, 2017 17:34:52

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

  a, b = b, a 



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#3 Май 31, 2017 17:59:10

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

подскажите по 2 простым задачкам

3.

конец строки обозначается символом ‘.’
строки или предложения?
 >>> s ='Hello World. Python is cool.'
>>> len(s.split())
5
>>> l = [i for i in s.split('.') if i.strip()]
>>> l
['Hello World', ' Python is cool']
>>> len(l)
2

Отредактировано vic57 (Май 31, 2017 18:13:56)

Офлайн

#4 Май 31, 2017 18:24:16

alekss07
Зарегистрирован: 2017-05-31
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

vic57
3.
конец предложения обазначаеться точкой
вот так получается спасибо
 def bigger(a):
    out = len(a.split())
    l = [i for i in a.split('.') if i.strip()]
    print(len(l))
    
    print(out)
bigger('Hello World. Python is cool.')
а не подскажите по синтаксису
для собственного понимания вопрос
 l = [i for i in a.split('.') if i.strip()]
– я правильно понимаю что i это переменная которая создается внутри цикла фор для обхода строки?
и второй вопрос
если убрать i.strip() то все работает i.strip() убирает пробелы насколько я понял. но количество точек считается уже не верно и вместо 2 получается 3
хотя за подщет точек отвечает split() ,если не сложно не могли бы пояснить спасибо

Отредактировано alekss07 (Май 31, 2017 18:50:31)

Офлайн

#5 Май 31, 2017 19:04:38

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

подскажите по 2 простым задачкам

по пунткам:

 >>> s = 'Hello world. Python is cool.'
>>> s.split('.')
['Hello world', ' Python is cool', '']
>>> [i for i in s.split('.')]
['Hello world', ' Python is cool', '']
>>> [i for i in s.split('.') if i.strip()]
['Hello world', ' Python is cool']
i - переменная цикла
аналог:
 >>> s = 'Hello world. Python is cool.'
out = []
for i in s.split('.'):
    if i.strip() != '': out.append(i)
print len(out),out
strip() нужен чтобы убрать пустые элементы

Отредактировано vic57 (Май 31, 2017 19:08:23)

Офлайн

#6 Июнь 1, 2017 22:03:14

gambrinas13
Зарегистрирован: 2017-06-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

Ребята, нужна ваша помощь. Задачка простенькая, вроде бы как решена, но мне кажется, что я не до конца понял задание:
Изначальная функция из книги:

def ask_number(question. low. high):
"""Просит ввести число из диапазона."""
response = None
while response not in range(low. high):
response = int(input(question))
return response
А вот задание и мой вариант:
Доработайте функцию ask_numЬer() так, чтобы ее можно было вызывать еще с одним параметром -
кратностью (величиной шага). Сделайте шаг по умолчанию равным 1.
low = 0
high = 8
def ask_number(question,low,high,step = 1):
response = None
while response not in range(low,high):
response = int(input(question))
return response
ask_number("Введите число от 0 до 8:",low ,high,1)
Если есть ошибка или недоработка укажите на это и подскажите, где мне следует исправить решение. Заранее, благодарю!


Отредактировано gambrinas13 (Июнь 2, 2017 19:47:49)

Офлайн

#7 Июнь 1, 2017 23:09:31

gambrinas13
Зарегистрирован: 2017-06-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

И еще одна задачка:

import random
the_number = random.randint(l. 100)
guess = int(input("Baшe предположение: "))
tries = 1
# цикл отгадывания
while guess != the_number:
if guess > the_number:
pri nt( "Меньше".")
else:
print( "Больше."")
guess = i nt ( i nput ("Ваше предположение: "))
tries += 1
print("Baм удалось отгадать число! Зто в самом деле". the_number)
print("Bы затратили на отгадывание всего лишь ", tries. " попыток!\n")
Каким образом нужно использовать функцию ask_number из 1 задачи чтобы она корректна работала?
У меня работает корректно только в том случае, когда ты угадываешь число с 1 раза:
import random
number = random.randint(1,5)
response = int(input("Ваше предположение:"))
tries = 1
low = 1
high = 5
def ask_number (question,low,high):
response = None
while response not in range(low,high):
response = int(input(question))
return response
while response != number:
if response > number:
print("Меньше")
else:
print("Больше")
ask_number("Ваше число:",low,high)
tries += 1
print("Baм удалось отгадать число! Зто в самом деле". number)
print("Bы затратили на отгадывание всего лишь ", tries. " попыток!\n")

Отредактировано gambrinas13 (Июнь 2, 2017 19:51:53)

Офлайн

#8 Июнь 2, 2017 09:38:19

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

gambrinas13 заключайте код а теги “code python” “/code”, без отступов ваш код нечитабелен.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июнь 2, 2017 09:38:33)

Офлайн

#9 Июнь 2, 2017 19:53:26

gambrinas13
Зарегистрирован: 2017-06-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

PEHDOM
gambrinas13 заключайте код а теги “code python” “/code”, без отступов ваш код нечитабелен.
Отредактировал, прошу прощения.

Офлайн

#10 Июнь 2, 2017 20:52:26

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

подскажите по 2 простым задачкам

 while response != number:
    if response > number:
        print("Меньше")
    else:
        print("Больше")
    response = ask_number("Ваше число:",low,high)
    tries += 1

+ while response not in range(low,high): не сработает если number = 5, поскольку range(1,5) вернет 1,2,3,4



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version