1、使用循环的else语句。 小李大学毕业开始工作,他想买一套现价为100万元的房子。若房子价格以每年百分之k(1≤k≤20)增长,小李的年薪是n(10≤n≤50)万元,假设小李未来的年薪不变,且每年所得的n万元全部积攒起来,请计算小李多少年能买下这套房子。如果超过20年小李也买不起这套房子,输出“很遗憾,小李买不起!”。
时间: 2024-02-16 10:01:14 浏览: 191
好的,这是一道基础的编程题,我可以帮你解决。以下是 Python 代码实现:
```python
price = 100 # 房子初始价格
k = float(input("请输入房价每年增长百分比(1~20): ")) / 100
n = int(input("请输入小李的年薪(10~50): "))
saved_money = 0 # 小李存的钱
year = 0 # 经过的年数
while saved_money < price:
year += 1
saved_money += n
price *= (1 + k)
if year > 20:
print("很遗憾,小李买不起!")
break
else:
print("小李需要", year, "年才能买下这套房子。")
```
首先,我们获取用户输入的房价增长百分比和小李的年薪。然后,我们使用 while 循环来模拟每年小李存钱和房价增长的过程,直到小李存的钱足够买下房子。在每一轮循环中,我们将年数加 1,小李存的钱加上他这一年的收入,房价按照每年增长百分比计算。如果经过 20 年还买不起房子,就输出提示信息并退出循环。如果循环正常结束,就输出小李需要的年数。
希望这个例子能够帮助你理解循环和条件语句的使用。
相关问题
题目描述 小T从现在开始工作,年薪N万。他希望买一套 60 平米的房子,现在价格是 200 万。假设房子价格以每年百分之 K 增长,并且小T未来年薪不变,且不吃不喝,不用交税,每年所得 N 万全都积攒起来,问第几年能够买下这套房子?(第一年年薪 N 万,房价 200 万) 输入格式 共一行,包含两个正整数N和K,中间用单个空格隔开。 输出格式 共一行,如果在第 20 年或者之前就能买下这套房子,则输出一个整数 M,表示最早需要在第 M 年能买下;否则输出Impossible。
题目描述和输入输出格式已经给出,以下是 Python 实现的代码:
```python
n, k = map(int, input().split())
price = 200 # 初始房价为 200 万
for year in range(1, 21): # 最多循环 20 年
if n * year >= price: # 如果年薪的总和大于等于房价,则可以买下房子
print(year)
break
price *= (1 + k / 100) # 房价以每年 k% 的速度增长
else:
print("Impossible")
```
该代码使用循环计算每年的房价,并判断是否可以买下房子。如果在前 20 年内可以买下房子,则输出最早需要在第几年能买下;否则输出 Impossible。
注意 `for` 循环中的 `else` 语句,它会在循环正常结束时执行,即循环没有被 `break` 中止时执行。这里用来判断是否可以买下房子。
阅读全文