Preguntas comunes de Python sobre algunas declaraciones de juicio

Examine principalmente la estructura de la rama (si se usa elif)

Pregunta: Puedes saber qué día del mes es el cumpleaños de tu amigo haciendo 5 preguntas. Cada pregunta pregunta si este día cae dentro del conjunto de 5 números.

Insertar descripción de la imagen aquí

Idea básica *: se hacen cinco preguntas, el usuario debe responder, el usuario debe observar la tabla y el resultado se acumula *

El código se muestra a continuación:

set1 = "1\t3\t5\t7\n" \
       "9\t11\t13\t15\n" \
       "17\t19\t21\t23\n" \
       "25\t27\t29\t31\n"
set2 = "2\t3\t6\t7\n" \
       "10\t11\t14\t15\n" \
       "18\t19\t22\t23\n" \
       "26\t27\t30\t31\n"
set3 = "4\t5\t6\t7\n" \
       "12\t13\t14\t15\n" \
       "20\t21\t22\t23\n" \
       "28\t29\t30\t31\n"
set4 = "8\t9\t10\t11\n" \
       "12\t13\t14\t15\n" \
       "24\t25\t26\t27\n" \
       "28\t29\t30\t31\n"
set5 = "16\t17\t18\t19\n" \
       "20\t21\t22\t23\n" \
       "24\t25\t26\t27\n" \
       "28\t29\t30\t31\n"
day = 0 #定义一个初始值
print(set1)#输出表格供用户观察
print("上面set中有你生日那天吗??")#显示问题
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 : #如果回答的是1则会执行下一个程序,反正不予理睬
   day += 1 #在原基础上加 1
print(set2) 
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 2
print(set3)
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 4
print(set4)
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 8
print(set5)
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 16
if day ==0 :
   print("你骗人!!!玩我呢?")
else :
       print("你的生日在%d号!"%day)

Estilo de salida:

Insertar descripción de la imagen aquí


tema:Insertar descripción de la imagen aquí

Ideas para hacer las preguntas:

Cuando vea datos con este tipo de alcance de diseño, debe aprender a pensar en la estructura de múltiples ramas (si no) para resolver problemas.

El código se muestra a continuación:

weight,height = eval(input("请输入您的体重和身高:"))
BMI = weight / (height**2)
if BMI < 18.5 :
	print("超轻")
elif 18.5 <= BMI < 25.0 :
    print("标准")
elif 25.0 <= BMI < 30.0 :
    print("超重")
else :
	 print("痴肥")

Insertar descripción de la imagen aquí
¡¡¡Soy súper liviana, así que parece que necesito comer más!!!


Pregunta: Si un año es divisible por 4 pero no por 100, o divisible por 400, entonces el año es bisiesto.

Ideas para resolver problemas: los años bisiestos son divisibles por 4 y no divisibles por 100, o son divisibles por 400. De todos modos, todos son años ordinarios.

El código se muestra a continuación:

year = int(input("请输入一个年份:"))
if year % 4 == 0 and year % 100 != 0 :
	print("该年为闰年!")
elif year % 400 == 0 :
	print("该年为闰年!")
else :
	print("该年为平年!")

Insertar descripción de la imagen aquí


Pregunta: Supongamos que desea desarrollar un programa para jugar a la lotería. El programa genera aleatoriamente un número de dos dígitos, luego solicita al usuario que ingrese un número de dos dígitos y determina si el usuario gana el bono según las siguientes reglas.

(1) Si los números ingresados ​​por el usuario son exactamente los mismos que los números generados aleatoriamente (incluido el pedido), el bono es de USD 10 000.
(2) Si el número ingresado por el usuario no coincide con el número generado aleatoriamente (excluyendo el pedido), el bono es de US$3000.
(3) Si el número ingresado por el usuario y el número generado aleatoriamente tienen el mismo dígito, el bono es de US$1.000.

Guía de ideas: Los números son iguales, uno de ellos es igual, ¡el número ganador es aleatorio!

El código se muestra a continuación:

import random
a = random.randint(10,99)#定义电脑随机抽取10-99之间的数
numb = int(input("请输入一个两位数的数字:"))
b = numb % 10 #取个位的数
c = numb // 10 #取十位的数
d = a % 10 #取个位的数
e = a // 10 #取十位的数
if b == d and c == e :
      print("恭喜你中奖了,喜提10000美金!!!")
elif b == e and c ==d :
  	  print("恭喜你中奖了,喜提3000美金!!!")
elif b == d or b == e or c ==d or c == e :
  print("恭喜你中奖了,喜提1000美金!!!")
else :
	print("未中奖!")

Insertar descripción de la imagen aquí



tema:Insertar descripción de la imagen aquí

El código se muestra a continuación:

import math 
(a,b,c) = eval(input("请输入a,b,c的值:"))
v = b**2 - 4 * a * c
if v > 0 :
    r1 = ((-b) + math.sqrt(b**2 - 4 * a * c)) / (2 * a)
    r2 = ((-b) - math.sqrt(b**2 - 4 * a * c)) / (2 * a)
    print("该方程有两个解!")
    print("两个解分别为:r1 = %0.2f , r2 = %0.3f"%(r1,r2))
elif v == 0 :
    r = ((-b) + math.sqrt (b**2 - 4 * a * c)) / (2 * a)
    print("该方程只有一个解!")
    print("解为:r1 = r2 = %0.3f"%(r))
elif v < 0 :
    print ("该方程无解!!!")

Insertar descripción de la imagen aquí


tema:Insertar descripción de la imagen aquí

Idea: utilizar estructura de sucursales

El código se muestra a continuación:

(a,b,c,d,e,f) = eval(input("请分别输入a,b,c,d,e,f的值:"))
v = a * d - b * c
if v == 0 :
	print("The equation has no solution!!!")
else :
	x = (e * d - b * f) / (a * d - b * c)
	y = (a * f - e * c) / (a * d - b * c)
	print("X is %0.2f and Y is %0.2f"%(x,y))

Insertar descripción de la imagen aquí


Pregunta: (Encontrar datos futuros) Escriba un programa que solicite al usuario que ingrese un número que indique qué día de la semana es hoy (el domingo es 0, el lunes es 1,..., el sábado es 6). También solicita al usuario que ingrese la cantidad de días desde hoy hasta un día futuro y luego muestra el día de la semana del día futuro. A continuación se muestra un ejemplo de ejecución.

Insertar descripción de la imagen aquí

El código se muestra a continuación:

today = int(input("今天是星期几呀??(请输入1~7来表示)"))
b = int(input("请问你想知道几天后的星期数?"))
day = (today + b) % 7
if 1 <= day <= 7 :
	print("今天是星期%s,在过%s天就是星期%s了噢"%(today,b,day))
else :
	print("你别拿我不当人啊!!!我可聪明了!!!")

Insertar descripción de la imagen aquí


Pregunta: (Finanzas: Comparación de precios) Supongamos que compras arroz y descubres que viene en dos paquetes. Querrá escribir un programa para comparar los precios de estos dos paquetes. El programa solicita al usuario que ingrese el peso y el precio de cada paquete y luego muestra el paquete con mejor precio. A continuación se muestra un ejemplo de ejecución.

Insertar descripción de la imagen aquí
Idea: Calcula cuánto cuesta una libra de arroz para comparar.

El código se muestra a continuación:

(a,b) = eval(input("请输入A类大米的重量和价格"))
(c,d) = eval(input("请输入B类大米的重量和价格"))
if (b / a) > (d / c) :
    print("A类大米性价比更高噢!!!")
else :
	print("B类大米性价比更高噢!!!")

Insertar descripción de la imagen aquí


Pregunta: (Detectar un número) Escriba un programa que solicite al usuario que ingrese un número entero y luego detecte si el número es divisible por 5 y 6, divisible por 5 o 6, o solo uno de ellos (pero no ambos al mismo tiempo). mismo tiempo) divisible).

El código se muestra a continuación:

numb = int(input("请输入一个整数:"))
if numb % 5 == 0 and numb % 6 == 0 :
	print("该数能同时被5和6整除喔")
elif numb % 5 == 0 and numb % 6 != 0 :
	print("该数能被5整除,不能被6整除")
elif numb % 5 != 0 and numb % 6 == 0 :
	print("该数不能被5整除,能被6整除")
else :
	print("该数不能被5或者6整除")

Insertar descripción de la imagen aquí


Tema: (Juego: Tijera, Piedra, Papel) Escriba un programa para jugar al popular juego Tijera-Piedra-Papel. (Las tijeras pueden cortar papel, las piedras pueden chocar con las tijeras y el papel puede envolver piedras.) El programa genera aleatoriamente un número 0, 1 o 2 para representar tijeras, piedra y papel. El programa solicita al usuario que ingrese el número 0 , 1 o 2 y luego muestra un mensaje que indica que el usuario O si la computadora ganó, perdió o empató. A continuación se muestra un ejemplo de ejecución.

Insertar descripción de la imagen aquí

El código se muestra a continuación:

import random
a = random.randint(0,2)#定义电脑随机抽取0-2之间的数
b = int(input("请出拳!用0,1,2代表剪刀石头布"))
if b > 2 or b < 0 :
	print("请读题后重新开始!")
elif a == b:
	print("平局再来一次呗!")
elif b - a == 1 or b - a == -2 :
	print("恭喜你赢得了比赛!")
elif b - a == -1 or b - a== 2 :
	print("你输了,下次加油噢!")

Insertar descripción de la imagen aquí



Tema: (Problema financiero: cambio de moneda) Escriba un programa que solicite al usuario que ingrese el tipo de cambio entre el dólar estadounidense y el RMB. Se solicita al usuario que ingrese 0 para convertir USD a RMB y 1 para convertir RMB a USD. Se solicita al usuario que ingrese una cantidad en dólares o una cantidad en RMB para convertirla a RMB o USD respectivamente. A continuación se muestran algunos ejemplos de ejecuciones.

Insertar descripción de la imagen aquí

El código se muestra a continuación:

lv = float(input("请输入人民币与美元之间的汇率"))
choose = int(input("请选择:0为转人民币,1为转美元"))
money = float(input("请输入相应的钱"))
if choose == 1 :
    a = money / lv
    print("%s人民币对应的美元为%s"%(money,a))
elif choose == 0 :
	b = money * lv
	print("%s美元对应的人民币为%s"%(money,b))

Insertar descripción de la imagen aquí


Pregunta: (Calcular el perímetro de un triángulo) Escriba un programa para leer los tres lados de un triángulo y calcular su perímetro si todas las entradas son legales. De lo contrario, mostrar esta entrada es ilegal. Si la suma de dos lados es mayor que el tercer lado, el perdedor es legal. A continuación se muestra un ejemplo de ejecución.

El código se muestra a continuación:

(a,b,c) = eval(input("请输入三角形的三边:"))
if (a + b) > c and (a + c) > b and (c + b) > a :
    C = a + b + c
    print("该三角形的周长为%s"%(C))
else :
    print("该三角形不存在")

Insertar descripción de la imagen aquí


tema:

Insertar descripción de la imagen aquí

El código se muestra a continuación:

(year,mouth,q) = eval(input("请输入某年,某月,某日 "))
if mouth == 1 or mouth == 2 :
   m = mouth + 12
   year -= 1
else :
   m = mouth
   year = year
j = year // 100
k = year % 100
h = (q + ((26 * (m + 1))//10) + k + k // 4 + j // 4 + 5 * j) % 7
if h == 0:
    print("该日子对应的是星期六")
elif h == 1:
	print("该日子对应的是星期天")
elif h == 2:
	print("该日子对应的是星期一")
elif h == 3:
	print("该日子对应的是星期二")
elif h == 4:
	print("该日子对应的是星期三")
elif h == 5:
	print("该日子对应的是星期四")
elif h == 6:
	print("该日子对应的是星期五")

Insertar descripción de la imagen aquí


tema:

Insertar descripción de la imagen aquí

El código se muestra a continuación:

import math
(x,y) = eval(input("请输入点的坐标:"))
R = math.sqrt((x**2) + (y**2))# 两点之间的距离公式
if R < 10 :
	print("该点在圆内")
elif R == 10 :
	print("该点在圆上")
else :
	print("该点在圆外")

Insertar descripción de la imagen aquí


tema:

Insertar descripción de la imagen aquí

El código se muestra a continuación:

(x , y )= eval(input("请输入x , y: "))
if -(10/2) <= x <= 10/2 and -(5/2)<= y <= 5/2:#注意考虑四个象线的坐标
	print("该点在该矩形中")
else :
	print("该点不在该矩形中")

Insertar descripción de la imagen aquí

Tema: (Número palíndromo) Escriba un programa para solicitar al usuario que ingrese un número entero de tres dígitos y luego determine si es un número palíndromo. Si un número es igual cuando se lee de izquierda a derecha y de derecha a izquierda, entonces el número es un palíndromo.

Idea principal: La pregunta es sobre tres dígitos, si es un número palíndromo, el primer y segundo dígito deben ser iguales, y todos los primeros y terceros dígitos deben ser iguales.

El código se muestra a continuación:

numb = int(input("请输入一个三位整数为:"))
a = numb // 100
b = numb % 10
if a == b :
	print("该数为回文数!")
else :
	print("该数不是回文数!")

Insertar descripción de la imagen aquí


Pregunta: (Pregunta de geometría: ¿Está el punto dentro del triángulo?) Supongamos que se coloca un triángulo rectángulo en un plano horizontal, como se muestra en la siguiente figura. El punto del ángulo recto está en (0,0) y los otros dos puntos están en (200,0) y (0,100). Escriba un programa que solicite al usuario un punto con coordenadas xey, y luego determine si el punto está dentro del triángulo.

Insertar descripción de la imagen aquí

Idea básica: controlar las condiciones, restringir algunas condiciones, como una línea de imagen, tres líneas de imagen y cuatro líneas de imagen, para simplificar la pregunta.

El código se muestra a continuación:

(x,y) = eval(input("请输入该点的坐标:"))
k1 = 100 / 200 #通过斜率的大小来判断,
if 0 <= x <= 200 and 0 <= y <= 100 :
	k = y / x 
	if k > k1 :
		print("该点不在三角形里面")
	else :
		print("该点在三角形里面")
else :
	print("该点不在三角形里面")


Insertar descripción de la imagen aquí


Título: (Problema geométrico: dos círculos) Escriba un programa que solicite al usuario que ingrese las coordenadas de los centros de los dos círculos y sus radios, y luego determine si el segundo círculo está dentro del primer círculo o se superpone con el primero. , como se muestra en la Figura 4-11. (Consejo: si la distancia entre los dos centros es ≤|rl-r2|, entonces el círculo2 está dentro del círculol. Si la distancia entre los dos centros es ≤rl1+r2, entonces el círculo2 se superpone con el círculol. Pruebe su programa para cubrir todas las situaciones .)

Insertar descripción de la imagen aquí

El código se muestra a continuación:

import math
(x1,y1,r1) = eval(input("请分别输入第一个圆的坐标和半径"))
(x2,y2,r2) = eval(input("请分别输入第二个圆的坐标和半径"))
a = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
if abs(r1 - r2) < a <(r1 + r2) :#abs是绝对值的意思
   print("两圆的位置关系是香蕉")
elif a < abs(r1 - r2) :
	print("两圆的位置关系是包含")
elif a == abs(r1 - r2) :
    print("两圆的位置关系是内切")
elif a == abs(r1 + r2) : 
	print("两圆的位置关系是外切")
else :
	print("两圆的位置关系是相离")

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Zombie_QP/article/details/124025903
Recomendado
Clasificación