Menu
Coddy logo textTech

Recap - Simple Logic

CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 27/71。

challenge icon

チャレンジ

簡単

入力から5つの値を取得してください:整数 age、整数 balance、文字列 isStudent"true" または "false" のいずれか)、文字列 hasPromoCode"true" または "false" のいずれか)、および整数 itemPrice

文字列の値を "true" と比較してブール値に変換してください。

以下の3つの条件を評価し、それぞれの結果を var_dump() を使用して新しい行に印刷してください:

  1. その人が若者割引の資格があるかをチェック:age が 25 未満 かつ 学生である
  2. その人が割引付きでアイテムを購入できるかをチェック:balance が itemPrice 以上 または(balance が itemPrice の半分以上 かつ hasPromoCode が true)
  3. その人が優先チェックアウトを受けられるかをチェック:(age が 65 以上 または isStudent が true) かつ balance が 0 より大きい かつ not hasPromoCode

例:

入力が 2250truefalse、および 80 の場合、出力は次のようになるはずです:

bool(true)
bool(false)
bool(true)

説明:

  • age < 25 && isStudent → 22 < 25 && true → true
  • balance >= itemPrice || (balance >= itemPrice / 2 && hasPromoCode) → 50 >= 80 || (50 >= 40 && false) → false || false → false
  • (age >= 65 || isStudent) && balance > 0 && !hasPromoCode → (false || true) && true && true → true

自分で試してみよう

<?php
// 入力値を読み取る
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));

// 文字列値をブール値に変換する
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";

// TODO: 以下にコードを書く
// 1. その人が若者割引の資格があるかをチェックする

// 2. その人が割引付きでアイテムを買えるかをチェックする

// 3. その人が優先チェックアウトを得るかをチェックする

?>

基礎のすべてのレッスン