Python ----- Ejercicios de declaraciones de juicio relacionados y análisis de preguntas (1)

Ejercicios y análisis de declaraciones de juicio de Python

1. 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í
El cumpleaños es la suma del - L número en el conjunto en el que aparece este número. Por ejemplo: si el cumpleaños es 19, entonces aparecerá en el conjunto set2 y set5. Los primeros números de estos tres conjuntos son 1.2.16 respectivamente. La suma de ellos es 19.

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#定义生日日期为0
print(set1)#将set1进行输出
print("看上表,你的生日日期是否在里面?")
num1 = int(input("有 输:1 没有 输:2 请选择:  "))#进行选择,若set1中有生日日期则选1,反之选2
if num1 == 1 :#若选1则执行下面程序,若选2则跳过day += 1程序
       day += 1#将生日日期进行加一
print(set2)#同样将set2进行输出
print("看上表,你的生日日期是否在里面?")
num2 = int(input("有 输:1 没有 输:2 请选择:  "))#进行选择,若set2中有生日日期则选1,反之选2
if num2 == 1 :#若选1则执行下面程序,若选2则跳过day += 2程序
       day += 2#将生日日期进行加二
#下面原理同上
print(set3)
print("看上表,你的生日日期是否在里面?")
num3 = int(input("有 输:1 没有 输:2 请选择:  "))
if num3 == 1 :
       day += 4
print(set4)
print("看上表,你的生日日期是否在里面?")
num4 = int(input("有 输:1 没有 输:2 请选择:  "))
if num4 == 1 :
       day += 8
print(set5)
print("看上表,你的生日日期是否在里面?")
num5 = int(input("有 输:1 没有 输:2 请选择:  "))
if num5 == 1 :
       day += 16
elif day == 0 :#判断进行到最后输出生日日期,若set1-set5都选2,则day为0,输出“玩呢???”
       print("玩呢???")
else :
       print("你的生日日期是%d号"%day)#若正常进行则输出day最后的值

resultado de la operación:Insertar descripción de la imagen aquí

2.El IMC es una forma de medir la salud en función del peso. El IMC se calcula dividiendo el peso en kilogramos por la altura en metros al cuadrado. Aquí hay una tabla de IMC para personas de 16 años y mayores: Insertar descripción de la imagen aquí
escriba un programa que solicite al usuario que ingrese su peso en libras y altura en pulgadas, y luego muestre los valores de IMC. Nota: 1 libra equivale a 0,453592 37 kilogramos y 1 pulgada equivale a 0,0254 metros. El Listado 4-6 muestra este programa.

(height,weight) = eval(input("请输入身高体重: "))
height1 = height / 0.0254#将英寸化为米
weight1 = weight / 0.45359237#将镑换化为千克
bmi = weight1 / (height1 ** 2)#BMI公式
#进行if判断语句
if 30 <= bmi :
	print("痴肥,你好自为之!")
elif 30 > bmi >= 25 :
	print("超重,该减肥了!")
elif 25 > bmi >= 18.5 :
	print("标准,但别太飘了,小心长胖!")
elif bmi < 18.5 :
	print("超轻,太瘦了,多吃点!")

resultado de la operación:Insertar descripción de la imagen aquí

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

year = float(input("请输入一个年份:  "))
if year % 4 == 0 and year % 100 != 0 :#对是否为闰年进行判断
	print("该年为闰年!!!")
elif year % 400 == 0 :
	print("该年为闰年!!!")
else :#若以上两项都不符,则为平年
	print("又不是闰年,激动啥???")

resultado de la operación:Insertar descripción de la imagen aquí

4. Suponga 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 de acuerdo con 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 10.000 dólares estadounidenses.
2) Si el número ingresado por el usuario es el mismo que el número generado aleatoriamente (sin incluir el pedido), el bono es de US$3000.
3) Si el número ingresado por el usuario tiene el mismo dígito que el número generado aleatoriamente, el bono es de US$1.000.

import random
num1 = random.randint(10,99)#定义电脑随机抽取10-99之间的数
num2 = int(input("请输入一个两位数: "))#参加该游戏的人进行猜数
player1 = num2 % 10#取数的个位
player2 = num2 // 10#取数的十位
computer1 = num1 % 10
computer2 = num1 // 10
print("我们的数字是:" + str(num1))
if player1 == computer1 and player2 == computer2:#若猜的数,个位十位都相同
	print("恭喜你,猜的完全正确,获得10000美元奖金!!!")
elif player1 == computer2 and player2 ==computer1:#若猜的数,个位等于十位
	print("恭喜你,两个数都猜对了,获得3000美元奖金!!!")
elif player1 == computer1 or player1 == computer2 or player2 == computer1 or player2 == computer2:#有一个数猜中
	print("恭喜你,猜对了一个数,获得1000美元奖金!!!")
else :#全都猜不中
	print("恭喜你成功避开了答案,欢迎下次再来!")

resultado de la operación:Insertar descripción de la imagen aquí

5. (En álgebra: resolver ecuaciones cuadráticas de una variable) Por ejemplo: la raíz cuadrada de ax^2+ bx+c=0 se puede obtener usando la siguiente fórmula.
Insertar descripción de la imagen aquí

b^2 - 4ac se llama discriminante de la ecuación cuadrática. Si es positiva, entonces la ecuación tiene dos raíces reales. Si es cero, entonces la ecuación tiene una raíz. Si es negativa, entonces la ecuación no tiene raíces reales.
Escriba un programa que solicite al usuario que ingrese los valores de a, byc, y luego muestre el resultado del discriminante. Si el discriminante es positivo, se muestran dos raíces. Si el discriminante es cero, se muestra una raíz. De lo contrario, se muestra "La ecuación no tiene raíces reales".

import math#导入数学库
( a , b , c ) = eval(input("请输入a,b,c的值:  "))#定义a,b,c的值
n = b ** 2 - 4 * a * c
if n > 0:
	r1 = ((-b) + math.sqrt(b ** 2 - 4 * a * c)) / (2 * a)#math.sqrt表示运用数学库中的算术平方根
	r2 = ((-b) - math.sqrt(b ** 2 - 4 * a * c)) / (2 * a)
	print("该方程有两个根")
	print("r1 = %0.3f   r2 = %0.3f" %(r1,r2))#  %0.3f表示取小数点后3位
elif n == 0:
	r = ((-b) + math.sqrt(b ** 2 - 4 * a * c)) / (2 * a)
	print("该方程有相同的一个根")
	print("r1 = r2 = %0.3f" %r)
elif n < 0:
	print("该方程没有根")

resultado de la operación:Insertar descripción de la imagen aquí

6. (Álgebra: resolución de ecuaciones lineales de 2x2) Puedes usar la regla de Clem para resolver el siguiente sistema de ecuaciones lineales de 2x2:
Insertar descripción de la imagen aquí

Escriba un programa que solicite al usuario que ingrese a, b, c, d, e y f, y luego muestre los resultados. Si ad-bc es cero, se muestra "La ecuación no tiene solución".

(a,b,c,d,e,f) = eval(input("请输入a,b,c,d,e,f的值: "))
n = a * d - b * c
if n == 0:
	print("哪有答案啊???")
else :
	x = (e * d - b * f) / (a * d - b * c)
	y = (a * f - e * c) / (a * d - b * c)
	print("结果:x = %0.2f  y = %0.2f"%(x,y))

Resultados de ejecución: Insertar descripción de la imagen aquí
7. (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 determinado en el futuro y luego muestra el día de la semana en el futuro.

today = int(input("请输入今天的日期(0-6): "))
day = int(input("请输入经过多少天: "))
day1 = (today + day) % 7
if 0 <= today <=6 :#定义只有星期一到星期天,所以只能输入0-6
	print("今天是星期%s过了%s天后是星期%s"%(today,day,day1))
else :
	print("哪有星期%d啊,你这个小可爱!!!"%today)

Resultados de la operación: Insertar descripción de la imagen aquí
8. (Aspectos financieros: comparar precios) Supongamos que compras arroz y descubres que viene en dos paquetes. Querrá escribir un programa que compare 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.

a1, a2 = eval(input("请输入第一种包装的重量和价格: ") )
b1, b2 = eval(input("请输入第二种包装的重量和价格: ") )
if (a2 / a1) > (b2 / b1) :#计算每斤重量值多少钱,并进行比较
	print("第一种包装更nice!!!")
elif (a2 / a1) < (b2 / b1) :
	print("第二种包装更nice!!!")
elif (a2 / a1) == (b2 / b1) :
	print("两种包装一样nice!!!")

Resultados de la ejecución: Insertar descripción de la imagen aquí
9. (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, por 5 o 6, o solo por uno de ellos. (pero no divisible por ellos al mismo tiempo).

a = int(input("请输入一个数: "))
if a % 5 ==0 and a % 6 ==0 :
	print("该数能同时被5和6整除")
elif a % 5 ==0 and a % 6 != 0 :
	print("该数能被5整除但不能被6整除")
elif a % 6 ==0 and a % 5 != 0 :
	print("该数能被6整除但不能被5整除")
elif a % 5 !=0 and a % 6 !=0 :
	print("该数5和6都不能整除")

Resultados de ejecución: Insertar descripción de la imagen aquí
10. (Juego: Tijeras, Piedra, Papel) Escriba un programa para jugar el popular juego de tijeras, piedra y 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 si el usuario o la computadora gana, pierde o empata.

import random
c = random.randint(0,2)#定义电脑随机输入0,1,2中任意一个数
p = int(input("请输入一位数0(剪刀),1(石头),2(布): "))
if p > 2 or p < 0 :
	print("认真审题!哥们!!!")
elif p - c == 0 :
	print("平局")
elif p - c == 1 or p - c == -2 :
	print("恭喜你,赢了!!!")
elif p - c ==2 or p - c == -1 :
	print("很遗憾,你输了!!!")

Resultados de ejecución: Insertar descripción de la imagen aquí
11. (Asuntos financieros: Cambio de divisas) Escriba un programa para solicitar 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 la cantidad de dólares estadounidenses o RMB para convertirla en RMB o dólares estadounidenses respectivamente.

num = float(input("请输入你要转换的数值:  "))
a = int(input("请输入转换方式0(美元转换为人民币),1(人民币转换为美元):  "))
num1 = num * 6.3634#进行人民币转换成美元
num2 = num / 6.3634#进行美元转换为人民币
if a != 0 and a != 1 :
	print("没有该选项,请重新选择")
elif a == 0 :
	print("你能兑换%f的人民币: "%num1)
elif a == 1 :
	print("你能兑换%f的美元: "%num2)

Resultados de la ejecución: Insertar descripción de la imagen aquí
12. (Calcule el perímetro del triángulo) Escriba un programa para leer los tres lados del triángulo y calcule 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, la entrada es legal.

side1,side2,side3 = eval(input("请输入三角形的三条边: "))
per = side3 + side2 + side1
if ((side1 + side2) > side3) and ((side1 + side3) > side2) and ((side2 + side3) > side1) :
	print("该三角形的周长为: %d"%per)
elif ((side1 + side2) < side3) or ((side1 + side3) < side2) or ((side2 + side3) < side1) :
	print("该三角形不成立!!! ")

resultado de la operación:Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Nirvana92/article/details/123938477
Recomendado
Clasificación