【发布时间】:2018-02-23 20:28:15
【问题描述】:
这是问题。 编写一个名为fruit_list.py 的shell(基于文本)程序,它创建水果名称列表('Apple'、'Orange'、'Banana'、'Water Melon'、'Pear')并要求用户选择一个从 1 到 5 的数字。然后程序会在列表中打印相应的项目。注意项目编号和列表索引之间的差异。请参见下面的示例。 示例:
PS C:\Users\ssiva\Desktop> python fruit_list.py
Pick a number between 1 and 5: 3
You got a Banana.
PS C:\Users\ssiva\Desktop>
这是我更新后的输入:
x = ['Apple', 'Orange', 'Banana', 'Water Melon', 'Pear']
y = [1, 2, 3, 4, 5]
fruits = str(raw_input())
while fruits > "5" or fruits <= "0":
print " Pick a number between 1 and 5:"
fruits = str(raw_input())
else:
print x
错误是它正在打印所有的水果。我希望每个数字都与每个水果相关,但它们都在打印。
这是错误: mes-MacBook-Air:desktop me$ python fruit_list.py
选择一个介于 1 和 5 之间的数字: 0 选择一个介于 1 和 5 之间的数字:
选择一个介于 1 和 5 之间的数字: 7 选择 1 到 5 之间的数字: 2 ['苹果'、'橙子'、'香蕉'、'西瓜'、'梨子'] mes-MacBook-Air:桌面我$
【问题讨论】:
-
你的意思是
y = int(raw_input())? -
它会引发 TypeError,因为您将
str与int进行比较 -
python 中的 for 循环涉及迭代可迭代对象(例如列表、元组、数组、生成器等)。
for y in x:是语法错误,因为 y 已经定义。试试:for fruit in x: print(fruit). -
更好的是,进入老师的办公时间。这里发生了很多事情,你最好学会整理。
-
不要使用
x和y- 这些名称非常容易混淆 - 例如,请改用fruits_list和numbers_list。for fruit in fruit_list: print fruit更有意义,对吧?还。根据while list_integers > 5- 很明显这没有意义 - 不能说列表“大于”数字 - 只有数字可以大于数字。
标签: python python-2.7