Уведомления

Группа в Telegram: @pythonsu

#1 Март 12, 2011 21:01:15

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

не выполняется if

Кроме того что указал igor.kaist, для простых приложений (у которых из названия понятно что они делают и есть желание в винде на них бросить запчасти) можно использовать sys.argv. Если программа фильтр, - заливает себе данные из входного потока то удобнее

import fileinput

for line in fileinput.input():
print "line:",line
А для сложного - gui



Отредактировано (Март 12, 2011 21:01:35)

Офлайн

#2 Март 12, 2011 22:19:23

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

Ух, сколько всего. Да, приложение простое, на сложное пока ума нет =) Обязательно попробую, тем паче почитал статьи про input



python3 openSUSE-43Leap

Офлайн

#3 Март 13, 2011 08:34:35

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

не выполняется if

так у вас питон 3, input возвращает всегда строку.
if lvl == “0”: итд



Офлайн

#4 Апрель 22, 2011 08:35:52

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

#!/usr/bin/env python
# _*_ coding: utf-8 _*_


t = []
t1 = [1, 2, 3, 4]
t2 = [5, 6]
x = input()

if x == 1:
t = t + t1
print(t)
Да чего же ему ещё не хватает? Пример буквально из учебника! Но при вводе “1” не возвращает ничего :-(



python3 openSUSE-43Leap

Офлайн

#5 Апрель 22, 2011 08:54:03

InPython
От:
Зарегистрирован: 2011-01-31
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

sp3
так у вас питон 3, input возвращает всегда строку.
т.е.
if int(x) == 1:



Офлайн

#6 Апрель 22, 2011 10:04:26

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

Извините, мне конечно не стоило настолько упрощать программу. Для ввода я использовал tkinter:

#! /usr/bin/env python
# _*_ coding: utf-8 _*_

import tkinter
from tkinter import *

t = []

rus = ['носильщики', 'воины']

ukr = ['носильники', 'воiни']

# запрос языка

yazyk = tkinter.Tk()
yazyk.title('язык')

def die(event):
yazyk.destroy()

var = tkinter.IntVar()
var.set(1)
rad1 = Radiobutton(yazyk, text='рус', variable=var, value=0)
rad1.grid(row=2, column=1)
rad2 = Radiobutton(yazyk, text='укр', variable=var, value=1)
rad2.grid(row=2, column=3)
but = tkinter.Button(text='гут')
but.bind('<Button-1>', die)
but.grid(row=3, column=2)

yazyk.mainloop()

if var == 0:
t = t + rus
print(t)
elif var == 1:
t = t + ukr
print(t)
и не возвращалось ничего. Если вынести print(t) наружу
if var == 0:
t = t + rus
elif var == 1:
t = t + ukr

print(t)
то возвращает



python3 openSUSE-43Leap

Отредактировано (Апрель 22, 2011 10:06:42)

Офлайн

#7 Апрель 22, 2011 11:27:46

InPython
От:
Зарегистрирован: 2011-01-31
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

я с тк не работал еще, но подозреваю что с гуи просто так нельзя выводить на консоль. Попробуй вывести результат в тк месседжбоксом.
а так все вроде работает

import random
t = []
rus = ['носильщики', 'воины']
ukr = ['носильники', 'воiни']
var = random.choice([0, 1])
print (var)
if var == 0:
t = t + rus
print(t)
elif var == 1:
t = t + ukr
print(t)



Отредактировано (Апрель 22, 2011 11:34:20)

Офлайн

#8 Апрель 22, 2011 11:33:50

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

Спасибо, разобрался. Допёр спросить print(var), возвращает буквенное выражение - конечно, все if-elif были False! А в учебнике было написано, что var присваивается значение value :-(



python3 openSUSE-43Leap

Офлайн

#9 Апрель 22, 2011 11:37:40

InPython
От:
Зарегистрирован: 2011-01-31
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

что за учебник? качай Марчка Лутца “Изучаем Питон” 4-е издание.



Офлайн

#10 Апрель 22, 2011 11:50:18

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

По tkinter в Викиуниверситете и на Сером форуме одинаково написано



python3 openSUSE-43Leap

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version