【发布时间】:2021-10-14 19:17:22
【问题描述】:
我是这个社区的新手,目前正在学习 Python。对于我的第一个小项目,我想要求用户输入(元素周期表中的元素)并打印相应的属性,例如名称、数量和质量。
import pandas as pd
df = pd.read_excel(r'path\excelfile.xlsx')
Symbol = input('Input Symbol: ')
try:
value = df.index[df['Symbol']== Symbol].tolist()[0]
print(f'properties of {Symbol} are: ')
print("Element Name: ",df['Atomic_name'][value])
print("Element Number : ",df['Atomic_number'][value])
print("Element Mass : ",df['Atomic_weight'][value], "g/mol")
except IndexError:
print('Symbol not found')
对于 excel 文件,我使用的是以下文件:[https://easyupload.io/qrl7yu][1]
坦率地说,只有当您的输入为“H”时,它才适用于第一个符号,从而导致以下输出:
Input Symbol: H
properties of H are:
Element Name : Hydrogen
Element Number: 1
Element Mass : 1.01 g/mol
这正是我想要的,但是当我尝试来自同一列“符号”的符号时,它不起作用。我想让它适用于所有符号。如何定义输入的所有符号都来自同一列?我认为这与我定义 value = 的第 7 行有关。
维克斯 [1]:https://easyupload.io/qrl7yu
【问题讨论】:
标签: python python-3.x excel input printing