pitón programación básica: Pitón de código simple ejemplo 10

Nota: Yo uso python2.7, si se utiliza más que la versión Python3.0, recuerde función print () Oh! Si el problema debido a que los comentarios de versiones, no volver hacer Oh! ! !

1. Título: 1,2,3,4 figuras, el número de otra sin repetición de los números de tres dígitos se puede componer? ¿Cuánto son?

análisis Programa: puede ser llenado en cien, diez bits digitales son 1,2,3,4. Composición antes de la eliminación de todas las condiciones de permutaciones disposición no está satisfecho.
Código fuente:

 # -*- coding: UTF-8 -*-
for i in range(1,5):
 for j in range(1,5):
  for k in range(1,5):
   if (i != j) and (i != k) and (j != k):
    print i,j,k

2. Tema: Enterprise bonos de comisión en base a las utilidades. Cuando ganancia (I) es menor que o igual a 10 millones, 10% del premio se puede mencionar, cuando el beneficio de 10 millones, menos de 20 millones, 10 millones porción comisión es menos de 10%, superior a 100.000 yuanes parte, 7,5% de comisión de cacao; es de entre 200.000 a 400.000, más de 20 millones de porción puede encargar 5%, más de 40 millones de porción es de entre 400.000 a 600.000, puede ser de 3% de comisión ; es de entre 600.000 a 1.000.000, más de 60 millones porción puede encargar un 1,5% por encima de 100 millones de dólares, más de un millón de yuanes porción de 1% de comisión, desde el teclado meses lucro I, debe buscar el número total de las primas pagadas?

Análisis del programa: Utilice ejes de corte, la ubicación. El bono que se define en la Nota de cultivo entero definido.

Método uno: Este método es un principio matemático que solía hacer, es enumerar todos los casos una expresión, expresión simplificada, finalmente, a continuación, calculo el valor de la expresión de los beneficios directamente de la entrada, es decir, el número total de bonificación . Es apilar bono, o algoritmos específicos para calcular sobre el papel, este método es adecuado para principiantes de codificación de las personas, como yo, las ideas más estúpidas en resolución de problemas matemáticos, que lo que hacen es matemáticamente de acuerdo con qué métodos, que luego se convierte en el código, es más fácil de entender.

# -*- coding: UTF-8 -*-
while True:
 I = input("pls input the lirun:")
 if I <= 10:
  a = I * 0.01
  print a
 elif I <= 20 and I > 10:
  b =0.25 + I * 0.075
  print b
 elif I <= 40 and I > 20:
  c = 0.75 + I * 0.05
  print c
 elif I <= 60 and I > 40:
  d = 0.95 + I * 0.03
  print d
 elif I <= 60 and I > 100:
  e = 2 + I * 0.015
  print e
 else:
  f = 2.95 + I * 0.01
  print f

Segundo método: Este método es más difícil de entender, y es adecuado para la fundación de la gente buena

# -*- coding: UTF-8 -*-
I = int(raw_input('净利润:'))
#这应该就是各个分界值了,把它们放在列表里方便访问
arr = [1000000,600000,400000,200000,100000,0] 
#这是各个分界值所对应的奖金比例值
rat = [0.01,0.015,0.03,0.05,0.075,0.1] 
 #这是总奖金的初始值
r = 0 
 #有6个分界值当然要循环6次     
for idx in range(0,6):  
 if I > arr[idx]:
  r = r + (I - arr[idx]) * rat[idx] 
  print (I - arr[idx]) * rat[idx]
  I = arr[idx]
print r

3. Título: Un número entero más 100 y 268 se acoplan después de un cuadrado perfecto, ¿cuál es el número es ¿cuánto?

Programa de Análisis: Análisis de menos de 10.000, a continuación, 100 más el número de receta, y luego la prescripción plus 268, si el resultado de los satisface raíz cuadrada la siguiente condición, es decir, es el resultado. Aquí para utilizar las matemáticas sqrt función raíz cuadrada.

# -*- coding: UTF-8 -*-
import math
for i in range(10000):
 x = int(math.sqrt(i + 100))
 y = int(math.sqrt(i + 268))
 if (x * x == i + 100) and (y * y == i + 268):
  print i

4. Título: Introduzca un cierto período de un día, el día de hoy es el día del juicio del año?

El análisis del programa: 5 de marzo, por ejemplo, debe poner los dos primeros meses juntos, a continuación, añadir los cinco días que es el día de las circunstancias especiales de este año, introduzca el mes y el año bisiesto añadió un día más para ser considerado superior a 3 .

Ideas: Fecha de entrada se divide primero, año, mes, día tres números, a su vez preparados de acuerdo con la situación real.

# -*- coding: UTF-8 -*-
x = raw_input("请输入日期,比如20160506:")
year = int(x[:4])
month = int(x[4:6])
day = int(x[6:8])
month_day = [31,28,31,30,31,30,31,31,30,31,30,31]
data = sum(month_day[:(month-1)],day)
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
 if month > 2:
  data = data + 1
print "it is the %dth day"% (data)

5. Título: Introduzca tres enteros x, y, z, por favor, estos tres números pequeños a grandes producciones.

Un análisis de programas: Encontramos una manera de poner el más pequeño número x, x e y se comparan en primer lugar, si x> y entonces los valores de X y se intercambian, y luego usar el X y Z son comparados, si x> z x se intercambia con el valor de z, y x puede ser minimizado.

# -*- coding: UTF-8 -*-
l = []
for i in range(3):
 x = int(raw_input('integer:\n'))
 l.append(x) #这里用append()函数,意思是追加元素
 l.sort()
print l

Análisis de dos procedimientos: una variable usada para almacenar el valor mínimo, comparando el número de tres intercambio de veintidós años, que es la forma más común de pensamiento.

# -*- coding: UTF-8 -*-
 
x = input("input a num:")
y = input("input a num:")
z = input("input a num:")
temp = 0
if x < y:
 temp = x
 x = y
 y = temp
if x < z:
 temp = x
 x = z
 z = temp
if y < z:
 temp = y
 y = z
 z = temp
print z,y,x #由于上面是由小到大来比较和交换的,所以这里需要逆序输出

Análisis de tres procedimientos: a función de clasificación tipo, función de clasificación se puede reorganizar de acuerdo con el orden ascendente digital.

# -*- coding: UTF-8 -*-
x = input("input a num:")
y = input("input a num:")
z = input("input a num:")
y = [x,y,z] #注意,这里只能是列表,不能是元组,因为元组是不可改变的,你懂得!!
y.sort()
print y

6. Título: copiar una lista de datos a otra lista.

Nota: Algunos estudiantes pensar en el uso de la función append (), aquí prestar especial atención a, append () es un momento adicionar un elemento, si se utiliza append () la función, será necesario que la lista que se añade como un uso de datos, no puedes creer lo siguiente:

Método uno:

# -*- coding: UTF-8 -*-
l1 = [1,2,3]
l2 = [4,5,6]
l1.append(l2)
print l1
 
输出:[1, 2, 3, [4, 5, 6]]

Método dos: Utilice el signo "+" para conectar las dos listas, es decir, los datos se copian a la lista L1 lista L2.

# -*- coding: UTF-8 -*-
l1 = [1,2,3]
l2 = [4,5,6]
print l1 + l2
 
输出:[1, 2, 3, 4, 5, 6]

Método tres: Utilice la lista [:]. Método rebanada, todos sabemos que si no se especifica de inicio y fin, por lo que significa que el elemento de salida de la lista.

# -*- coding: UTF-8 -*-
a = [1, 2, 3] #把列表a复制到列表b
b = a[:]
print b

7. Título: 9 * 9 salidas de las tablas de multiplicar.

Procedimientos de análisis: Ramificaciones y columnas consideración, un total de 9 filas 9 columnas, control fila I, j la columna de control. Si no se requiere el formato, es simple, se pueden emitir en cualquier formato, de la siguiente manera:

# -*- coding: UTF-8 -*-
for i in range(1,10):
 for j in range(1,10):
  x = i * j
  print "%d * %d = %d" % (i,j,x)

Si debe tener en cuenta el formato de salida, que se mencionarán más adelante en el artículo, jeje.

8. Título: segunda salida de pausa.

Análisis del programa: función de pausa de tiempo es time.sleep (), aquí están libres, por ejemplo, listas, tuplas, diccionarios pueden ser.

# -*- coding: UTF-8 -*-
import time
d = {"a":1,"b":2}
for i in d:
 print i
 time.sleep(1) #暂停一秒输出

9. Título: columnas de Fibonacci.

Análisis del programa: número de Fibonacci (secuencia de Fibonacci), también conocido como columnas de oro, en referencia a un tal serie: 0,1,1,2,3,5,8,13,21,34, .......
Matemáticamente, la serie de Fibonacci cargo se basa en un método recursivo para definir:

n = 1 时 f(1) = 1
n = 2 时 f(2) = 1
n = 3 时 f(3) = f(3-1) + f(3-2)
    = f(2) + f(1)
    = 1 + 1
    = 2
n = 4 时 f(4) = f(4-1) + f(4-2)
    = f(3) + f(2)
    = 2 + 1
    = 3
n = 5 时 f(5) = f(5-1) + f(5-2)
    = f(4) + f(3)
    = 3 + 2
    = 5
.....   ...
 
所以,当 n >= 2 时,表达式为f(n) = f(n-1) + f(n-2)
n = 1 时 f(1) = 1
n = 2 时 f(2) = 1
n = 3 时 f(3) = f(3-1) + f(3-2)
    = f(2) + f(1)
    = 1 + 1
    = 2
n = 4 时 f(4) = f(4-1) + f(4-2)
    = f(3) + f(2)
    = 2 + 1
    = 3
n = 5 时 f(5) = f(5-1) + f(5-2)
    = f(4) + f(3)
    = 3 + 2
    = 5
.....   ...
所以,当 n >= 2 时,表达式为f(n) = f(n-1) + f(n-2)

Método uno:

# -*- coding: UTF-8 -*-
 
def fib(n):
 a,b = 1,1
 for i in range(n-1):
  a,b = b,a+b
 return a
 
# 输出了第10个斐波那契数列
 print fib(10)

Segundo método:

# -*- coding: UTF-8 -*-
 
# 使用递归
def fib(n):
 if n==1 or n==2:
  return 1
 return fib(n-1)+fib(n-2)
 
# 输出了第10个斐波那契数列
print fib(10)

Método tres: Si es necesario especificar la salida número de Fibonacci serie de Fibonacci, puede utilizar el siguiente código:

# -*- coding: UTF-8 -*-
 
def fib(n):
 if n == 1:
  return [1]
 if n == 2:
  return [1, 1]
 fibs = [1, 1]
 for i in range(2, n):
  fibs.append(fibs[-1] + fibs[-2])
 return fibs
 
# 输出前 10 个斐波那契数列
print fib(10)

10. Título: problema clásico: un par de conejos a partir de los 3 primeros meses después del nacimiento nacen cada mes un par de conejos, conejitos crecer hasta el tercer mes siguiente al mes dio a luz a un par de conejos, si el conejo no está muerto el número total de conejos por mes para preguntar cuánto?

Análisis del programa: Después del cálculo y encontrar la ley para obtener la ley de los conejos varias columnas ... 1,1,2,3,5,8,13,21 número típico de Fibonacci, que es por eso que quiero Fibonacci. la razón por la que el número de columnas en el noveno título de la columna, entonces el método de acuerdo con la pregunta anterior tres, que sería muy fácil para obtener el número de conejos por mes.

Además, hay una más bella de salida:

# -*- coding: UTF-8 -*-
 
f1 = 1
f2 = 1
for i in range(1,21):
 print '%12ld %12ld' % (f1,f2),
 if (i % 3) == 0:
  print ''
 f1 = f1 + f2
 f2 = f1 + f2

Output
. 1. 5. 1 2. 8. 3
13 es 21 es 34 es 89 55 144
233 377 61098715972584
4181 6,765,109,461,771,128,657 46368
75025 121 393 196 418 832 040 317 811 514 229
13462692178309 35245785702887 922,746,514,930,352
24157817 102 334 155 165 580 141 267 914 296 3,908,816,963,245,986

Por último, recomiendo una reunión buena reputación pitón [ Haga clic para entrar ], hay una gran cantidad de veteranos habilidades de aprendizaje, experiencia, habilidades de la entrevista, la experiencia laboral y otra cuota de aprendizaje, más que preparamos cuidadosamente la información introductoria de base cero en los datos reales del proyecto método, todos los días, los programadores explicar la tecnología de sincronización de Python, para compartir algunas de las letras y la necesidad de prestar atención a los pequeños detalles

Publicado 15 artículos originales · ganado elogios 2 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/haoxun11/article/details/104908295
Recomendado
Clasificación